这是我从php表中删除行的编码。
<html>
<?php
include("DBConfig/Db_connection.php");
if(isset($_POST['Reassign'])){
if(isset($_POST['checkbox']))
{
$id = $_POST['Reassign'];
$id1 = $_POST['checkbox'];
$sql = "INSERT INTO archived SELECT * FROM faults WHERE id='$id1';";
$sql .= "DELETE FROM faults WHERE id='$id1'; ";
$sql = mysql_multiquery($sql,$dbcon);
if (!$mysqli->multi_query($sql)) {
echo "Multi query failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
else{
echo "Assigned successfully";
}
}
}
?>
<script>
function mysql_multiquery($queries,$conn)
{
$queries = explode(";", $queries);
foreach ($queries as $query)
$query = mysql_query(trim($query),$conn);
}
</script>
</html>
这给了我对未定义函数mysql_multiquery()的错误调用。 有谁知道原因?
答案 0 :(得分:1)
1st:因为您在<script>
标记.so php中包装php代码不会解析function
所以它会抛出Call to undefined function
。
第二名:不需要这一行$sql = mysql_multiquery($sql,$dbcon);
,因为在下一行你执行的mysqli multi query
。 $mysqli->multi_query($sql)
答案 1 :(得分:0)
你不能在脚本标签内写php功能。 PHP不承认这一点。如果要执行多个查询,请使用mysqli_multi_query
$sql = mysqli_multi_query($sql,$dbcon);
答案 2 :(得分:0)
<script>
标记中包装PHP代码毫无意义。它不会被PHP读取。mysql_*
函数不应该被使用,它们是不安全的。他们的使用被劝阻了十年,自PHP5.6以来已被弃用,并且从PHP7.0开始被删除并且使您的整个代码面临SQL注入的风险。请改用PDO。