PHP がクエリを通じて 2 つのフィールドの情報をクエリすると、Web ページを見つけることができません
この投稿は lsjhxl によって最終編集されました: 2015-08-31 23:22:10
<?php<br />header("Content-Type:text/html;charset=utf-8");<br />try{<br />$pdo=new pdo('mysql:host=localhost;dbname=lsj','root','lsjhxl123') or die("链接失败");;<br />$pdo->setAttribute(PDO::ATTR_ERRMODE,2);<br />$aa=$pdo->query("set names utf8");<br />//$pdo->exec("insert into test values(2,'bb','cccccc')") or die("失败");<br /><br />$res=$pdo->query("select name from test where id = 11");//修改为查询 name,id两个字段,就错误<br />}catch(PDOException $err){<br /> echo $err->getMessage();}<br /><br />$result=$res->fetchall(PDO::FETCH_ASSOC);<br />print_r($result);;<br />?>
ログイン後にコピー
を実行すると正しく結果のArray([0] => Array ([name] => aa))が得られます。
しかし、select name from test where id = 11 が select name, id from test where id = 11 になると、localhost に接続できなくなり、Web ページが見つかりません
--- --- 解決策 ------------------------ID を使用してクエリを実行し、ID を表示する必要もあります。 IDは主キーではないですか?
------ソリューションのアイデア----------------------他の分野についてはどうですか?任意の 2 つのフィールドだけで問題はありますか?
------解決策のアイデア----------------------ウォッチの構造を再設計してみてください。 。 。テーブル作成ステートメントを取り出して見てください
-----ソリューションのアイデア---------------------- SQL ステートメントを直接実行できますか? PHP コードを実行する必要はありません
-----ソリューションのアイデア----------------------name id 中国語の句読点を間違って使用しましたか?
-----解決策のアイデア----------------------カンマが間違っています
-----解決策----------------------<br />header("Content-Type:text/html;charset=utf-8");<br />try{<br />$pdo=new pdo('mysql:host=localhost;dbname=test','root','root') or die("链接失败");;<br />$pdo->setAttribute(PDO::ATTR_ERRMODE,2);<br />$aa=$pdo->query("set names gbk");<br />//$pdo->exec("insert into test values(2,'bb','cccccc')") or die("失败");<br /> <br />$res=$pdo->query("select id, goodprice from price where id = 15");//修改为查询 name,id两个字段,就错误<br />}catch(PDOException $err){<br /> echo $err->getMessage();}<br /> <br />$result=$res->fetchall(PDO::FETCH_ASSOC);<br />print_r($result);
ログイン後にコピー
上で書いたコードテストには問題ありません
-----解決策のアイデア------ ----1. まず、データベースに id フィールドがあるかどうかを確認します。
2. この文を試してみてください。あなたの書き方には漢字が含まれていると推定されます。
<br />$res=$pdo->query("select id,name from test where id=11");<br />
ログイン後にコピー