我试图在另一个下执行两个sql查询,一旦第一次执行完成,sql查询将堆叠在第二个上,我知道这是因为我在第一次执行后回显了值,这很好显示回声但它在第二个之后没有显示。我注释掉第一个查询,看看第二个查询的问题是否是语法,但它不是因为一旦第一个查询被注释掉,我就从第二个查询得到回声。
我尝试了这两种方法
$sql = mysqli_query($connection,"DELETE FROM PRODUCT WHERE ID='$delID';") or die(mysqli_error());
$sql .= mysqli_query($connection,"SELECT * FROM CHILD_IMG WHERE PROD_ID = '$delID';") or die(mysqli_error());
和这个方法
$sql1 = mysqli_query($connection,"DELETE FROM PRODUCT WHERE ID='$delID';") or die(mysqli_error());
$sql2 = mysqli_query($connection,"SELECT * FROM CHILD_IMG WHERE PROD_ID = '$delID';") or die(mysqli_error());
为了在同一个函数中查询两个sql结果,我需要做些什么吗?
更新问题是我试图从PRODUCT中删除一行,然后选择CHILD_IMG问题是CHILD_IMG有一个来自PRODUCT ID的外键,它正在查找已删除的ID。我只需要交换它们首先选择CHILD_IMG然后删除PRODUCT行
答案 0 :(得分:1)
答案 1 :(得分:0)
在你的" php.ini" (配置文件服务器);
display_errors=On;
在您的代码中:
error_reporting( E_ALL );
测试此代码:
// List to add rows
$data = array();
// Return boolean
$sql1 = mysqli_query( $connection, "DELETE FROM PRODUCT WHERE ID='$delID';" );
//
if( ! $sql1 )
{
die( "Error description: " . mysqli_error( $connection ) );
}
// Return resource
$sql2 = mysqli_query( $connection, "SELECT * FROM CHILD_IMG WHERE PROD_ID = '$delID';" );
//
if( ! $sql2 )
{
die( "Error description: " . mysqli_error( $connection ) );
}
// if Results
if( mysqli_num_rows( $sql2 ) > 0 )
{
// Get row
while( $row = mysqli_fetch_row( $sql2 ) )
{
// Add list
array_push( $data, $row );
}
}
// print result
print_r( $data );