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
Solution 1:
To check if your INSERT was successful, you can use mysqli_affected_rows()
.
- http://php.net/manual/en/mysqli.affected-rows.php
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:
- http://php.net/manual/en/mysqli.error.php
- http://php.net/manual/en/function.error-reporting.php
Your present code is open to SQL injection if user interaction is involved.
Use mysqli
with prepared statements, or PDO with prepared statements.