PHP:foreach中的Select语句
我从数据库中选择了数据,该数据库主要获取用户名与PHP:foreach中的Select语句,php,mysql,Php,Mysql,我从数据库中选择了数据,该数据库主要获取用户名与中的名称匹配,其中CONCAT_WS()中选择第二个值时出错 foreach($names as $name){ if($name != ""){ $query = mysqli_query($conn, "select CONCAT_WS('', fname, ' ', mname, ' ', lname) as name, username from user where CONCAT_WS('', fname, ' ', mname, '
中的名称匹配,其中CONCAT_WS()
中选择第二个值时出错
foreach($names as $name){
if($name != ""){
$query = mysqli_query($conn, "select CONCAT_WS('', fname, ' ', mname, ' ', lname) as name, username from user where CONCAT_WS('', fname, ' ', mname, ' ', lname) = '$name'");
$row = mysqli_fetch_array($query);
$username = $row['username'];
$sql = mysqli_query($conn, "insert into message_send(username, receiver, message) values('$u','$username','$msg')");
}
}
成功插入第一个值后,第二个值出现错误,未插入用户名。此错误的输出为
Username | Receiver | Message
myuser | user2 | this is a message
myuser | | this is a message
为了获得最佳结果,请在
mysql\u fetch\u array()
之后调用mysqli\u close($query)
,并在insert
查询之后立即调用mysqli\u close($sql)
。这些调用将关闭结果集并重置连接,以便您可以再次使用它
您可能还应该检查每个
mysqli\u query()
操作是否有错误。mysqli\u query没有错误。我想它在mysqli_fetch_数组中。