2016-05-30 7 views
1

私はDELETEクエリを持っており、実行結果を返したいと思います。どうしたらいいですか?Mysqliの結果を返します。execute()

私のPHPコード:

Function delete_cat($category){ 
    $stmt = $mysqli->prepare("DELETE category, products FROM category INNER JOIN products WHERE category.id = ? AND product_cat = category.category_name "); 
    $stmt->bind_param($category); 
    $stmt->execute(); 
    $stmt->close(); 
//return should be here 

} 
+2

をdelete文は、結果を生成しません。それが削除された行の数を知りたいですか? http://php.net/manual/de/function.mysql-affected-rows.php – Luke

+1

@ルークそれは間違いないが、間違ってレガシーmysql_ extensionのドイツ語版にリンクしてしまった –

答えて

3

http://php.net/manual/en/mysqli-stmt.affected-rows.php

ので $stmt->execute(); =>戻りbool値、クエリが行われたかどうかOKかエラーが発生しました。あなただけの、これを必要とする場合は、単にあなたが削除された要素の数が必要な場合は

function delete_cat($category){ 
    $stmt = $mysqli->prepare("DELETE category, products FROM category INNER JOIN products WHERE category.id = ? AND product_cat = category.category_name "); 
    $stmt->bind_param($category); 
    $result = $stmt->execute(); 
    $stmt->close(); 
    return $result; 
} 

を作り、これをmysqli_stmt_affected_rows種の使用:

function delete_cat($category){ 
    $stmt = $mysqli->prepare("DELETE category, products FROM category INNER JOIN products WHERE category.id = ? AND product_cat = category.category_name "); 
    $stmt->bind_param($category); 
    $stmt->execute(); 
    $result = $stmt->affected_rows; 
    $stmt->close(); 
    return $result; 
} 
1
function delete_cat($category){ 
    $stmt = $mysqli->prepare("DELETE category, products FROM category INNER JOIN products WHERE category.id = ? AND product_cat = category.category_name "); 
    $stmt->bind_param($category); 
    $result = $stmt->execute(); // store the return of the method into a variable here so we can return it later 
    $stmt->close(); 
    return $result // would return if the rows have been deleted or not. 
    return $mysqli->affected_rows; // would return the amount of rows deleted 

} 

あなたはSQLクエリがsuccesfullの実行された場合だけ、結果を取得したい場合、あなたはaffected_rowsを使用し、削除された行の量を取得したい場合単に$stmt->executeの戻り値を変数に格納して返してください。

http://php.net/manual/de/mysqli-stmt.execute.php

関連する問題