Touff
Touff

Reputation: 235

Check if SQL INSERT was successful

I am currently learning PHP and am using the query below to insert values into my MySQL table.
I would like to check whether or not the values were inserted correctly. I have tried writing an IF statement and have searched through numerous examples, none of which seem to be working.

I would appreciate any help in steering me in the right direction.

$dd_tracking_insert = $dd_tracking_conn->query("INSERT INTO $dd_tracking_table_name (invoice_id, user_id, gc_bill_id, gc_bill_amount, gc_bill_fees, gc_bill_status, gc_bill_created) VALUES ('$invoice_id', '$user_id', '$gc_transaction_id', '$invoice_amount', '$gc_fees', '$gc_status', now())");

IF inserted correctly - echo "inserted".
If Error: was not inserted -echo "error: values where not inserted correctly."

Link to full code here

Upvotes: 4

Views: 18041

Answers (2)

Funk Forty Niner
Funk Forty Niner

Reputation: 74216

To check if your INSERT was successful, you can use mysqli_affected_rows().

Returns the number of rows affected by the last INSERT, UPDATE, REPLACE or DELETE query.

Object oriented style

int $mysqli->affected_rows;

Procedural style

int mysqli_affected_rows ( mysqli $link )

And check for errors against your query and for PHP.

References:


Your present code is open to SQL injection if user interaction is involved.

Use mysqli with prepared statements, or PDO with prepared statements.

Upvotes: 4

Gavin
Gavin

Reputation: 2143

if (!$dd_tracking_conn->query("INSERT...")){
    //echo "error: values where not inserted correctly.";
    printf("Error: %s\n", $dd_tracking_conn->error);
}else {
    echo "inserted";
}

Upvotes: 0

Related Questions