我有一個測試代碼,我嘗試訪問我的數據庫信息。但是一個使用準備好的語句的腳本不起作用,其次沒有準備好的語句就可以正常工作。無法找到問題出在哪裏:/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服務器的錯誤日誌。你在這裏沒有做任何真正的錯誤檢查。 –