如果id匹配则从mysql中选择行

Jay*_*Jay 1 php mysql

我想从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',它应该获得名称,否则什么也不是,至少它应该给出错误,但是当我使用它时,它仅显示此代码之后的页面内容。我做错了什么?

And*_*erj 5

如果在此代码之后未显示任何代码,则可能是由于发生了错误,并且已设置了错误处理,因此不显示错误。

尝试搜索应包含未看到的错误的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)

这可能有助于获取有关您的问题的更多信息。