ホームページ >バックエンド開発 >PHPチュートリアル >PHP のプリコンパイル済みクエリが常にデータのフェッチに失敗する

PHP のプリコンパイル済みクエリが常にデータのフェッチに失敗する

WBOY
WBOYオリジナル
2016-06-23 14:21:011023ブラウズ

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();}

SQL ステートメントは明らかにデータをクエリできますが、PHP のプリコンパイルされていないステートメント ($result = $mysqli->query($query);) を使用してレコードをクエリすることもできます。これは上記です。私の PHP バージョンは php-5.2.5-x64 で、環境は 64 ビット Win7 です。この問題に遭遇したことのある人、またはすでに解析できる人はいますか?困った2 なんと....ありがとう

ディスカッション(解決策)に返信

コードは問題ないように見えます
でも、コードを直接コピーすると構文チェックに合格しません

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 には上記の問題はなく、独自の設定の問題であるはずです

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。