-2

phpファイルからusername=nameであるテーブル"students"から行を選択したいと思います。返された行を印刷するにはどうすればよいですか?これを使用しましたが、値が出力されません(結果が表示されません)

$result=mysql_query("select name from students where name=$name);


if($result){

while($row=mysql_fetch_array($result))
{
echo " $row['name'];
}
}
4

4 に答える 4

3

が数値でない場合$name、MySQLはそれが列であると見なし、その列はおそらく存在しないため、エラーが発生します。のように引用符で囲みます'$name'mysql_real_escape_stringまた、$name最初に呼び出す必要があり、の結果がmysql_queryそうでないことを確認する必要がありますfalse(そうである場合は、チェックしてくださいmysql_error)。

また、いくつかの引用符が欠落しています。


さらに良いことに、使用を中止しext/mysql、代わりにPDOを使用してください。次に、次のようなクエリを記述できます

select name from students where name = ?

エスケープと見積もりの​​追加は自動的に行われます。

于 2013-02-06T19:06:36.043 に答える
1

文字列を使用する場合は引用符を使用します。それ以外の場合は列名として扱われます

$result=mysql_query("select name from students where name='$name'");

ノート

  1. ext/mysqlプレフィックスmysql_で指定されたすべての関数を提供するPHP拡張機能全体は、PHP v5.5.0で正式に非推奨になり、将来削除される予定です。したがって、PDOまたはMySQLi

よく読んで

  1. mysql拡張機能は非推奨であり、将来削除される予定です。代わりにmysqliまたはPDOを使用してください。
  2. MySQL開発者向けのPDOチュートリアル
  3. 初心者のためのPdoチュートリアル
于 2013-02-06T19:05:59.540 に答える
0

試す:

$result=mysql_query("select name from students where name='$name'");

そしてecho " $row['name'];echo $row['name'];

于 2013-02-06T19:04:43.277 に答える
0
$result = mysql_query("select name from students where name='$name'");


if($result){

  while($row = mysql_fetch_array($result))
  {
    echo $row['name'];
  }
}
于 2013-02-06T19:04:56.543 に答える