我的查询有什么问题?无法获取记录

时间:2016-11-22 02:44:59

标签: php mysql

我的查询无效。它不会打印记录,但在phpmyadmin中它会显示记录。

 $sql1 = "SELECT fullname FROM addresses WHERE userid = 1 LIMIT 1";
 $result1 = mysqli_query($conn, $sql1);

 while ($row = mysqli_fetch_row($result1)) {

    $fullname = $row['fullname'];

 $i++; }
 echo $fullname;

更新:

我的桌子上没有一把独特的钥匙。

3 个答案:

答案 0 :(得分:4)

来自the documentation

  

从结果集中获取一行数据并将其作为枚举数组返回,其中每列存储在从0(零)开始的数组偏移量中。

您的值在$row[0],而非$row['fullname']

如果您想要关联数组,请使用mysqli_fetch_assocmysqli_fetch_array

答案 1 :(得分:0)

我相信mysql_fetch_assoc应该是这种类型的数据检索的方法,但是,为了给你一个代码,你的代码就是这样的。

$conn = mysqli_connect($host,$user,$password);
mysqli_select_db($conn, $database);
$i = 0;

$sql1 = "SELECT fullname FROM addresses WHERE userid=1 LIMIT 1";
$result1 = mysqli_query($conn, $sql1);

while ($row = mysqli_fetch_row($result1)) {

    $fullname = $row[0];

$i++; }

echo $fullname;

您使用索引名称

获取数据
  

'全名'

像这样,

  

$ fullname = $ row [' fullname'];

但是如果在while循环之前显示$ row的值,则可以看到可用选项仅是实际编号的索引。

此外,在使用 mysqli_query mysqli_fetch_row <时,您需要确保使用 mysqli_connect mysqli_select_db /强>

答案 2 :(得分:-3)

您不需要while循环来设置数据库中的单个记录。下面我已更新您的单个记录的代码。

 $query = "SELECT fullname FROM addresses WHERE userid = 1 LIMIT 1";
 $result = mysqli_query($conn, $query);
 $row = mysqli_fetch_assoc($result);
 echo "Full Name:". $row['fullname'];