栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么我不能运行两个mysqli查询?第二个失败

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么我不能运行两个mysqli查询?第二个失败

可以使用mysqli_multi_query()。

例:

<?php$mysqli = new mysqli($host, $user, $password, $database);// create string of queries separated by ;$query  = "INSERT INTO images (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName');";$query .= "INSERT INTO images_history (project_id, user_id, image_name, date_created, link_to_file, link_to_thumbnail, given_name, day, month, year) VALUES ('$project_id', '$user_id', '$image_name', '$date_created', '$link_to_file', '$thumbnail', '$ImageName', '$day', '$month', '$year');";// execute query - $result is false if the first query failed$result = mysqli_multi_query($mysqli, $query);if ($result) {    do {        // grab the result of the next query        if (($result = mysqli_store_result($mysqli)) === false && mysqli_error($mysqli) != '') { echo "Query failed: " . mysqli_error($mysqli);        }    } while (mysqli_more_results($mysqli) && mysqli_next_result($mysqli)); // while there are more results} else {    echo "First query failed..." . mysqli_error($mysqli);}

关键是如果要在单个调用中执行多个查询,则 必须
使用

mysqli_multi_query
。出于安全原因,
mysqli_query
将不执行多个查询以防止SQL注入。

还请记住的行为

mysqli_store_result
。它返回
FALSE
如果查询没有结果集(这
INSERT
查询不),所以你还必须检查
mysqli_error
地看到,它返回一个空字符串意味着
INSERT
成功。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/408446.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号