我想从表“学生”中选择行,其中用户名=来自 php 文件的名称。我如何打印返回的行?我使用了这个,但没有打印出值(没有结果出现)
$result=mysql_query("select name from students where name=$name);
if($result){
while($row=mysql_fetch_array($result))
{
echo " $row['name'];
}
}
如果$name
不是数字,MySQL 会认为它是一个列,并且该列可能不存在,因此您将收到错误消息。在它周围加上引号,例如'$name'
. 您还应该先调用mysql_real_escape_string
on $name
,并且应该检查mysql_query
is not的结果false
(如果是,请检查mysql_error
)。
您还缺少一些引号。
更好的是,停止使用ext/mysql
并改用 PDO。然后你可以像这样编写查询
select name from students where name = ?
并且转义和引用添加会自动为您完成。
如果您使用字符串,请使用引号,否则它将被视为列名
$result=mysql_query("select name from students where name='$name'");
ext/mysql
PHP 扩展提供了所有以 mysql_ 为前缀的函数,从 PHP v5.5.0 开始正式弃用,并将在未来删除。所以使用PDO
或者MySQLi
好读
尝试:
$result=mysql_query("select name from students where name='$name'");
并且echo " $row['name'];
应该是echo $row['name'];
$result = mysql_query("select name from students where name='$name'");
if($result){
while($row = mysql_fetch_array($result))
{
echo $row['name'];
}
}