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

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-23 14:21:01
オリジナル
1060 人が閲覧しました

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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート