ホームページ >バックエンド開発 >PHPチュートリアル >PHP のプリコンパイル済みクエリが常にデータのフェッチに失敗する
php prepare fetch
include ('../db/MySqlConnect.php');$conn = new MySqlConnect();$mysqli = $conn->getConnection();$sql = 'select id, username, password from admin where id = ?';$seach_id = 1;settype($seach_id, "integer");if($stmt = $mysqli->prepare($sql)) { $stmt->bind_param('i', $seach_id); $stmt->execute(); $stmt->bind_result($rs_id, $rs_name, $rs_password); if($stmt->fetch() == NULL) { echo 'no result'; } else { printf('id:%s, name:%s, password:%s <br/>', $rs_id, $rs_name, $rs_password); } $stmt->close(); $mysqli->close();}
コードは問題ないように見えます
でも、コードを直接コピーすると構文チェックに合格しません
http://www .php.net/manual /en/mysqli.prepare.php
http://xiaobo-liu.iteye.com/blog/1288008
settype($seach_id, "integer")
省略可能
いいえ出力?最初に if を入力しましたか?
私のマシンの一部の構成に問題がある可能性がありますが、最終的には PDO を有効にすることにしました。いずれにせよ、遅かれ早かれ新しい知識を学ぶ必要があります。たとえこの問題が解決されたとしても、PDO は確かに MySQli よりも優れています。
PDO は一度使い慣れると非常に便利です。また、PDO の prepare には上記の問題はなく、独自の設定の問題であるはずです