重定向到新页面后,如http://index.php/?id=38 ,我认为MySQL数据库没有加载。因为线路echo "{$row['username']}"-6ren">
gpt4 book ai didi

php - 重定向到新页面后 MySQL 数据库未加载

转载 作者:行者123 更新时间:2023-11-29 13:43:41 24 4
gpt4 key购买 nike

以下代码有问题:

<?php
$con = mysql_connect("localhost","","");
if (!$con){
die('Could not connect: ' . mysql_error());
}
mysql_select_db("abc", $con);

$ids = intval($_GET['id']);
if ($ids==0){
$id = rand (0,50);
header("Location: http://index.php?id=$id");
}
?>

<html>
<body>

<?php
$result = mysql_query("SELECT * FROM abcdatabase WHERE id = '$id'");

if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}

$row = mysql_fetch_array($result);

echo "{$row['username']}<br>";

?>

</body>
</html>

重定向到新页面后,如http://index.php/?id=38 ,我认为MySQL数据库没有加载。因为线路echo "{$row['username']}<br>";不显示任何内容,也不显示任何错误消息。事实上我不明白我犯了什么错误。我是一名新手程序员。请任何人帮我解决这个问题。

最佳答案

对于初学者来说,您不应该再使用 mysql 库,因为它已被弃用。使用 mysqli 库代替:http://php.net/manual/en/book.mysqli.php

其次,你有一个小错误。在第 8 行中,您设置了 $ids 变量,但在第 19 行中,您没有使用它。你在那里使用 $id ,它会是空的。因此,您搜索 id = empty 并且查询成功(您得到结果:未找到记录),因此没有错误消息,但您也没有获得名称(因为未找到记录)。所以更换

$result = mysql_query("SELECT * FROM abcdatabase WHERE id = '$id'");

$result = mysql_query("SELECT * FROM abcdatabase WHERE id = '$ids'");

一般来说,如果您的代码期望找到 1 个结果,还请添加一项检查以确保您确实找到了一个结果,如果没有找到,则添加一条错误消息。替换

if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}

if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
elseif (mysql_num_rows($result) <> 1) {
echo 'No records found';
exit;
}

第三,像 Joachim 解释的那样,存在标题错误。

关于php - 重定向到新页面后 MySQL 数据库未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17739352/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com