我从第一个表中获取数据这很好,我得到了输出。在此表格中,列名为“std_list'存储像1,2,3,4,5,..当我回显它给出输出1,2,3,4,5,....但是当我使用这个变量从另一个表获取数据时它只使用它1从其他表中获取数据。
<span><?php echo $user['std_list'];?></span></p>
<?php
//$query="SELECT * FROM events Where std_list != '0' ";
$query="SELECT * FROM events where id='$eid'";
$showdata=mysql_query($query) or die(mysql_error());
$user=mysql_fetch_array($showdata);
?>
在第一个表输出的基础上我试图从另一个表中获取数据。
<?php
$sid=$user['std_list'];
//$query="SELECT * FROM events Where std_list != '0' ";
$query="SELECT * FROM student_info where id='$sid'";
$showstudent=mysql_query($query) or die(mysql_error());
while($students=mysql_fetch_array($showstudent))
{
?>
这是我的代码,数据存储在&#39; std_list&#39;列就像1,2,3,4,5,6 .....我希望分别获取每个数字,但根据我的代码,它只从其他表中获取第一个数字。
答案 0 :(得分:0)
只需使用WHERE id IN ()
1)不推荐使用Mysql_ *尝试使用mysqli _ *
2)使用PDO或准备好的声明
$sid ='1,2,3,4,5,6';
$query="SELECT * FROM student_info where id IN (".$sid.")";
更新1:
<?php
//db connection
$servername = "localhost"; //host name
$username = "username"; //username
$password = "password"; //password
$mysql_database = "dbname"; //database name
//mysqli prepared statement
$conn = mysqli_connect($servername, $username, $password) or die("Connection failed: " . mysqli_connect_error());
mysqli_select_db($conn,$mysql_database) or die("Opps some thing went wrong");
$sid ='1,2,3,4,5,6';
$sid = explode(',',$sid);
$total_items = count($sid);
$question_marks = array_fill(0, $total_items, '?');
$stmt = $conn->prepare("SELECT * FROM student_info where id IN (".$question_marks.")");
$stmt->execute($sid);
$get_result =$stmt->get_result();
$row_count= $get_result->num_rows;
if($row_count>0){
while($row=$get_result->fetch_assoc())
{
print_r($row);
}
}
?>