函数
function mysql_get_var($query,$y=0){
$res = mysql_query($query);
$row = mysql_fetch_array($res);
mysql_free_result($res);
$rec = $row[$y];
return $rec;
}
用法
$name = mysql_get_var("SELECT name from people where email = '[email protected]'");
将返回 name 字段,因此返回的结果将是“Roger”(如果我的数据库中名字是这个)。
这是否适用于多行,例如如果我想获取整个 name 表,我是否可以使用 mysql_fectch_array 与它一起使用?
查看我的网站
不,此函数仅适用于返回一行。
关于该函数,如果 $y 仅允许提供整数以指定要选择的字段,那么最好使用 mysql_fetch_row 而不是 mysql_fetch_array。
此外,您可以简单地执行
return $row[$y];
而不是创建一个新变量。
我衷心感谢你。我花了最后 4 个小时试图找出我做错了什么,来到 CSS-Tricks,找到了这个,我的问题解决了。谢谢。
更简单的方法是使用 MySQL 的 LIMIT 关键字,因此使用上面的示例,您的查询字符串将是…
SELECT name FROM people WHERE email = ‘[email protected]’ LIMIT 1
这将为您提供 MySQL 遇到的第一条记录。这可以通过不同的顺序更改,例如
ORDER BY id 或
ORDER BY date 等。
MySQL 通过这种方式优化获取数据的速度,而不是 PHP。使用您的方法,MySQL 可能需要花费大量时间来获取 10,000 条记录并进行打包和交付,而使用 LIMIT 时,它知道只需快速打包 1 条记录即可。
谢谢。我一直在寻找很长时间才能找到确切的这个。最棒的是它真的有效!
非常非常感谢!!!这非常有用!谢谢谢谢。