错误:调用未定义函数
问题描述:
这是我从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()。 有谁知道原因?
答
1:由于<script>
标签。所以你的PHP包装PHP代码将无法解析function
所以它抛出该Call to undefined function
。
第二:无需此行$sql = mysql_multiquery($sql,$dbcon);
因为在下一行的执行mysqli的multi query
。 $mysqli->multi_query($sql)
答
你不能写PHP函数包脚本标记内。 PHP不认识。如果要执行多个查询,然后使用mysqli_multi_query
$sql = mysqli_multi_query($sql,$dbcon);
答
- 包装PHP代码
<script>
标签是没有意义的。它不会被PHP读取。 - 你的功能是没用的,因为仍然您在非常下一行调用mysql_multi_query在你的病情。
-
mysql_*
功能不应该使用,它们是不安全的。他们所使用的是十年不鼓励的,自PHP5.6开始弃用,自PHP7.0以后就被删除,并将整个代码置于SQL注入风险之中。改为使用PDO。
因为该功能不存在?附:你不能混合和匹配mysql_ *和mysqli_ *。 –
尝试'mysqli_multi_query'代替 –
javascript函数不能在PHP中直接调用,这是对他只是文本(PHP执行' Kaddath