我有3个查询,比如
$q1 = select email from tbl students
$q2 = select email from tbl corporates
$q3 = select email from tbl institutes我想检查所有3个表,如果电子邮件计数是零,那么只有这样做,我可以这样写:
if(mysqli_num_rows($q1) || mysqli_num_rows($q2) || mysqli_num_rows($q3) ==0){
proceed to process.
}else{
do nothing
}我的问题是,这是一种正确的方法,还是更好地留下我需要学习的东西。
发布于 2017-01-19 02:46:08
您需要使用&而不是||,并检查每个mysql对象的行数
if(mysqli_num_rows($q1) == 0 && mysqli_num_rows($q2) == 0 && mysqli_num_rows($q3) ==0){
//proceed to process.
} else {
//do nothing
}发布于 2017-01-19 02:49:48
您应该首先执行这些查询,这样您将拥有:
$db = mysqli_connect("localhost","my_user","my_password","my_db");
$q1 = "select email from tbl students";
$q2 = "select email from tbl corporates";
$q3 = "select email from tbl institutes";
$db_q1 = mysqli_query($db, $q1);
$db_q2 = mysqli_query($db, $q2);
$db_q3 = mysqli_query($db, $q3);
if(mysqli_num_rows($db_q1) == 0 && mysqli_num_rows($db_q2) == 0 && mysqli_num_rows($db_q3) == 0) {
proceed to process.
}发布于 2017-01-19 03:22:24
使用mysqli_multi_query()可以更轻松地进行尝试
$con=mysqli_connect("localhost","my_user","my_password","my_db");// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error(); }
$sql = select email from tbl students";
$sql .= select email from tbl corporates";
$sql .= "select email from tbl institutes";
// Execute multi query
if (mysqli_multi_query($con,$sql)){
do{ // Store first result set
if ($result=mysqli_store_result($con)) { // Fetch one and one row
if (mysqli_fetch_row($result) == 0) {
//your code here
}
} }
https://stackoverflow.com/questions/41726642
复制相似问题