如何在同一列中选择不同的值并获取它们?
我有以下名为signup
的数据库表:
+----+---------+--------------+
| ID | user_id | meta_key1 |
+----+---------+--------------+
| 1 | 1 | d |
| 2 | 1 | f |
| 3 | 1 | c |
| 4 | 2 | g |
| 5 | 3 | 1 |
+----+---------+--------------+
这是我的代码:
<?php
$sql="SELECT meta key1 FROM signup WHERE user_id='1' OR user_id='2'";
$result=@mysql_query($sql);
$num=mysql_num_rows($result);
while($row=mysql_fetch_array($num))
{
echo $row['meta_key1'];
}
?>
我没有从此代码中获取输出,有时会出现此错误:
PHP Warning: mysql_fetch_array() expects parameter 1 to be resource, integer given in ...
为什么我收到此错误?
答案 0 :(得分:1)
应该是
while($row=mysql_fetch_array($result)) // your query object not num_rows object
并更改
echo $row['meta key1'];
到
echo $row['meta_key1'];
答案 1 :(得分:0)
无效的查询。它失败了,因为你的表中甚至没有sign_id
字段
$sql="SELECT meta key1 FROM signup WHERE sign_id='1' OR sign_id='2' "; // wrong field name
正确
$sql="SELECT meta_key1 FROM signup WHERE user_id='1' OR user_id='2' ";
答案 2 :(得分:0)
我认为你需要提出这个问题:
$sql="SELECT meta_key1 FROM signup WHERE user_id = ? ";
如果您的用户正在连接,您需要比较他的meta_key1和他的插入,其中user_id