我想从mysql中选择与特定ID匹配的行。如果ID匹配,我想获取结果;如果数据库中不存在ID,则不应执行任何操作。
我像这样跑:
$q = "SELECT * FROM entries where id= '1'";
$result = mysql_query($q) or die(mysql_error());
if($result){
$row = mysql_fetch_array($result) or die(mysql_error());
$name = $row['name'];
}
echo "hello".$name;
Run Code Online (Sandbox Code Playgroud)
如果在数据库中存在id'1',它应该获得名称,否则什么也不是,至少它应该给出错误,但是当我使用它时,它仅显示此代码之后的页面内容。我做错了什么?
如果在此代码之后未显示任何代码,则可能是由于发生了错误,并且已设置了错误处理,因此不显示错误。
尝试搜索应包含未看到的错误的php错误日志文件(通常为php_error.log)。
我想尝试的另一件事是添加更多的echo语句,以查看php到底在哪里停止解释。像这样:
$q = "SELECT * FROM entries where id= '1'";
$result = mysql_query($q);
echo '<br />Query is send';
if(!$result) {
die('<br/>MySQL Error: ' . mysql_error());
}
else {
echo '<br />Result is true';
$row = mysql_fetch_array($result);
echo '<br />tryed fetching row';
if ($row === FALSE) {
echo '<br />$row is not false.';
$name = $row['name'];
echo '<br />$name now is "' . $name . '"';
}
else {
die('<br/>MySQL Error: ' . mysql_error());
}
}
echo '<br />hello: "' . $name . '"';
Run Code Online (Sandbox Code Playgroud)
这可能有助于获取有关您的问题的更多信息。