我想从表“学生”中选择行,其中username = name来自php文件。 我如何打印返回的行? 我使用了这个但是没有打印的值(没有显示结果)
$result=mysql_query("select name from students where name=$name);
if($result){
while($row=mysql_fetch_array($result))
{
echo " $row['name'];
}
}
答案 0 :(得分:3)
如果$name
不是数字,MySQL会认为它是一列,并且该列可能不存在,因此您将收到错误。像'$name'
一样在它周围加上引号。您还应首先在mysql_real_escape_string
上致电$name
,然后检查mysql_query
的结果是否为false
(如果是,请检查mysql_error
)。
你也错过了一些引用。
更好的是,停止使用ext/mysql
并使用PDO代替。然后你可以编写像
select name from students where name = ?
并且为您自动完成转义和报价添加。
答案 1 :(得分:1)
如果您使用字符串使用引用,则将其视为列名
$result=mysql_query("select name from students where name='$name'");
ext/mysql
PHP扩展程序(提供名为mysql_的所有函数)为officially deprecated as of PHP v5.5.0,将来会被删除。因此,请使用PDO
或MySQLi
好读
答案 2 :(得分:0)
尝试:
$result=mysql_query("select name from students where name='$name'");
echo " $row['name'];
应为echo $row['name'];
答案 3 :(得分:0)
$result = mysql_query("select name from students where name='$name'");
if($result){
while($row = mysql_fetch_array($result))
{
echo $row['name'];
}
}