错误:调用未定义函数

问题描述:

这是我从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

因为该功能不存在?附:你不能混合和匹配mysql_ *和mysqli_ *。 –

+0

尝试'mysqli_multi_query'代替 –

+0

javascript函数不能在PHP中直接调用,这是对他只是文本(PHP执行' Kaddath

1:由于<script>标签。所以你的PHP包装PHP代码将无法解析function所以它抛出该Call to undefined function

第二:无需此行$sql = mysql_multiquery($sql,$dbcon);因为在下一行的执行mysqli的multi query$mysqli->multi_query($sql)

+0

它给我下面的错误 注意:未定义的变量:mysqli的在C:\ XAMPP \ htdocs中\ OSS_Fault_Mgt \ assignRecord.php上线10 – sj111

+0

'$ mysqli'是不是你的连接'object'? @ sj111 .show你'DB_connection.php'代码太 – JYoThI

+0

sj111

你不能写PHP函数包脚本标记内。 PHP不认识。如果要执行多个查询,然后使用mysqli_multi_query

$sql = mysqli_multi_query($sql,$dbcon); 

  • 包装PHP代码<script>标签是没有意义的。它不会被PHP读取。
  • 你的功能是没用的,因为仍然您在非常下一行调用mysql_multi_query在你的病情。
  • mysql_*功能不应该使用,它们是不安全的。他们所使用的是十年不鼓励的,自PHP5.6开始弃用,自PHP7.0以后就被删除,并将整个代码置于SQL注入风险之中。改为使用PDO