使用SELECT * FROM表WHERE IN在数组中获取行

时间:2013-08-27 10:29:44

标签: php mysql

您好我正在尝试从所有行中的特定coloumn获取数据。

例如情况: 数据库数据:id,fbid,name

$sql = 'SELECT id FROM table WHERE table.fbid IN (1234,5678,4321)';
$sql_run = mysql_query($sql); 
$sql_fetch = mysql_fetch_assoc($sql_run);
print_r($sql_fetch);

当我使用Sequel PRO或PHPmyAdmin测试数据时返回数据。 但是当我打印数组时,它只显示一个值。

你能帮我解决一下,或者告诉我哪里出错了吗?

3 个答案:

答案 0 :(得分:1)

<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$result = mysqli_query($con,"SELECT * FROM Persons");

while($row = mysqli_fetch_array($result))
  {
  echo $row['FirstName'] . " " . $row['LastName'];
  echo "<br>";
  }

mysqli_close($con);
?>

答案 1 :(得分:0)

在使用功能之前,或者 - 至少 - 当它不符合您的期望时 - 阅读手册页中的功能描述总是一个好主意。

PHP可以非常方便地访问其手册页。您只需在地址栏中键入php.net / function name即可。它比在Stack Overflow上输入整个问题花费的时间更少,但你会得到完全相同的答案。想想效率。

答案 2 :(得分:0)

你需要遍历每一行

$sql_run = mysql_query($sql) or die(mysql_error());

while ($sql_fetch = mysql_fetch_assoc($sql_run)) {
  print_r($sql_fetch);
}