ホームページ > バックエンド開発 > PHPチュートリアル > PHP がクエリを通じて 2 つのフィールドの情報をクエリすると、Web ページを見つけることができません。

PHP がクエリを通じて 2 つのフィールドの情報をクエリすると、Web ページを見つけることができません。

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-23 13:26:55
オリジナル
1031 人が閲覧しました

<?phpheader("Content-Type:text/html;charset=utf-8");try{$pdo=new pdo('mysql:host=localhost;dbname=lsj','root','lsjhxl123') or die("链接失败");;$pdo->setAttribute(PDO::ATTR_ERRMODE,2);$aa=$pdo->query("set names utf8");//$pdo->exec("insert into test values(2,'bb','cccccc')") or die("失败");$res=$pdo->query("select name from test where id = 11");//修改为查询 name,id两个字段,就错误}catch(PDOException $err){	echo $err->getMessage();}$result=$res->fetchall(PDO::FETCH_ASSOC);print_r($result);;?>
ログイン後にコピー


これを実行すると正しく結果の Array ([0] => Array ([name] => aa)) を取得できます。
ただし、select name from test where id = 11 が select name, id from test where id = 11 になると、localhost に接続できなくなり、Web ページが見つかりません


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

ID を使用してクエリを実行する場合、ID も主キーではなく表示される必要があります。

他の分野ではどうですか?任意のフィールドが 2 つだけでも問題はありますか?

ID を使用してクエリを実行する場合は、ID も主キーとして表示する必要があります。





他の分野ではどうですか?任意の 2 つのフィールドだけで問題はありますか?



主キーが設定されておらず、select × from test だけが見つかりません。
単一のフィールドは機能しますが、複数のフィールドは機能しません

テーブル構造を再設計してみてください。 。 。テーブル作成ステートメントを取り出して見てください

SQL ステートメントを直接実行できますか? php コードを介して実行する必要はありません

名前 ID で中国語の句読点を間違って使用しましたか?

カンマが間違っています

header("Content-Type:text/html;charset=utf-8");try{$pdo=new pdo('mysql:host=localhost;dbname=test','root','root') or die("链接失败");;$pdo->setAttribute(PDO::ATTR_ERRMODE,2);$aa=$pdo->query("set names gbk");//$pdo->exec("insert into test values(2,'bb','cccccc')") or die("失败"); $res=$pdo->query("select id, goodprice from price where id = 15");//修改为查询 name,id两个字段,就错误}catch(PDOException $err){    echo $err->getMessage();} $result=$res->fetchall(PDO::FETCH_ASSOC);print_r($result);
ログイン後にコピー
ログイン後にコピー


上で書いたコードのテストには問題ありません

1.まずデータベースに ID フィールドがあるかどうかを確認します。
2. この文を使って試してみてください。あなたの文章には中国語の記号が混じっていると思います。

$res=$pdo->query("select id,name from test where id=11");
ログイン後にコピー

header("Content-Type:text/html;charset=utf-8");try{$pdo=new pdo('mysql:host=localhost;dbname=test','root','root') or die("链接失败");;$pdo->setAttribute(PDO::ATTR_ERRMODE,2);$aa=$pdo->query("set names gbk");//$pdo->exec("insert into test values(2,'bb','cccccc')") or die("失败"); $res=$pdo->query("select id, goodprice from price where id = 15");//修改为查询 name,id两个字段,就错误}catch(PDOException $err){    echo $err->getMessage();} $result=$res->fetchall(PDO::FETCH_ASSOC);print_r($result);
ログイン後にコピー
ログイン後にコピー


上で書いたコードは問題ありません



結局、理由はわかりませんが、Apache、php、mysql を再インストールして、最終的には素晴らしかったです
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート