运行多个SQL查询无效

时间:2016-06-25 23:16:31

标签: php mysql

我试图在1个php中运行多个查询:

$sql = "UPDATE table1 SET column='1' WHERE id='1'";
$sql.= "INSERT INTO table2(column1, column2) VALUES ('1', '2')";
if (!$mysqli->multi_query($link, $sql)) {

当我运行时,我收到错误。有人知道我的剧本有什么问题吗?

这是我的完整脚本:

<?php
$link = mysqli_connect("localhost", "root", "", "db");                   
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
$sql = "UPDATE table1 SET column='1' WHERE id='1'";
$sql.= "INSERT INTO table2(column1, column2) VALUES ('1', '2')";
if (!$mysqli->multi_query($link, $sql)) {

echo "Success";
} else {
 echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}

// Close connection
mysqli_close($link);
?>

修改1:

我收到以下错误: 注意:未定义的变量:第24行的........ / script.php中的mysqli

致命错误:在第24行的........ / script.php中的非对象上调用成员函数multi_query()

2 个答案:

答案 0 :(得分:2)

你需要用分号结束一个语句,然后在开始下一个

之前放一个空格
Caused by: org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: es.sidelab.cuokawebscraperrestserver.beans.UserActivity.favoriteProducts[java.lang.Long]

此外,您正在使用面向对象的功能而不是程序功能。所以把它改成这个

$sql = "UPDATE table1 SET column='1' WHERE id='1'; ";

答案 1 :(得分:0)

我通过替换:

来修复它
if (!$mysqli->multi_query($link, $sql)) {

使用:

if (mysqli_multi_query($link,$sql)) {