我有一个测试代码,我尝试访问我的数据库信息。但是一个使用准备好的语句的脚本不起作用,其次没有准备好的语句就可以正常工作。无法找到问题出在哪里:/SELECT不能在PHP中使用变量
$userzzz = "test";
有了这个剧本我拿到“BAD”作为结果
$db = new mysqli("localhost", "root", "", "test");
$stmt = $db->prepare('SELECT * FROM user WHERE username=?');
$stmt->bind_param('s', $userzzz);
$stmt->execute();
echo $stmt->num_rows();
if ($stmt->num_rows > 0){
echo "good";
} else {
echo "bad";
}
有了这一个,我得到“良好”的结果。
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM user WHERE username = '$userzzz'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "good";
}
} else {
echo "bad";
}
$conn->close();
?>
'$ username'容器根,你的数据库连接。不'测试' – aynber
@anyber上帝,这太明显了。好的,所以第二个可以工作,但使用stmt的仍然不起作用:/ – PhpNewbie
您是否检查了您的Web服务器的错误日志。你在这里没有做任何真正的错误检查。 –