业余问题,但我一直在想的事情。从MySQL查询中选择一行的PHP是什么?你正在通过唯一ID选择一些东西(你知道只有一行符合你的要求),并希望只得到那个值。你还需要使用while循环和mysql_fetch_row吗?
$query = "SELECT name,age FROM people WHERE uid = '2'";
$result = mysql_query($query);
// what php is used to return the name and age? preferably without a loop?
答案 0 :(得分:11)
添加limit 0,1
:
$query = "SELECT name,age FROM people WHERE uid = '2' LIMIT 0,1";
$result = mysql_query($query);
$res = mysql_fetch_assoc($result);
echo $res["age"];
答案 1 :(得分:2)
如果uid
是您的主键,或者它有unique
约束,您只需拨打mysql_fetch_row($res)
一次。
如果您想验证您确实得到了结果,可以检查mysql_num_rows($res) == 1
。
答案 2 :(得分:1)
不需要任何循环,只需调用函数从查询结果集中提取一行:
$query = "SELECT name,age FROM people WHERE uid = '2'";
$result = mysql_query($query);
$row = mysql_fetch_assoc( $result );
var_dump( $row );
答案 3 :(得分:0)
在您的查询中添加 LIMIT
。例如,
SELECT name,age FROM people WHERE uid = '2' LIMIT 1
答案 4 :(得分:0)
这是另一个例子:
<?php
mysql_connect("server","user","password")
or die ('Connection failed: ' . mysql_error() );
//
mysql_select_db ("database")
or die ('Selection failed: ' . mysql_error());
//
$portaQuery = "SELECT user_name FROM table_users";
//
$portaResult = mysql_query($portaQuery)
or die ('Query failed: ' . mysql_error());
//
$displayUserName = mysql_result ($portaResult, 0, "user_name" );
//
echo $displayUserName;
?>
答案 5 :(得分:0)
fetch_object
=>返回结果集的当前行作为对象
$sql = "SELECT * from contacts where id=1";
$result = $conn->query($sql);
$allData =$result -> fetch_object();
var_dump($allData);
fetch_assoc
=>获取结果行作为关联数组
$sql = "SELECT * from contacts where id=1";
$result = $conn->query($sql);
$allData =$result -> fetch_assoc();
var_dump($allData);
您可以根据需要使用fetch_assoc
或fetch_object
。
答案 6 :(得分:0)
mysql_fetch_assoc 该扩展在PHP 5.5.0中已弃用,在PHP 7.0.0中已被删除。而是使用 mysqli_fetch_assoc -这将获取结果行作为关联数组。
示例1:面向对象的样式
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 1";
$result = $mysqli->query($query);
$row = $result->fetch_assoc();
echo $row['Name'];
示例2:程序样式
$link = mysqli_connect("localhost", "my_user", "my_password", "dbname");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 1";
if ($result = mysqli_query($link, $query)) {
/* fetch associative array */
$row = mysqli_fetch_assoc($result);
echo $row['Name'];
}