2014-02-19 3 views
-1
<?php 
$con=mysqli_connect("example.com","peter","abc123","my_db"); 

// Check connection 
if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$sql="INSERT INTO Persons (FirstName, LastName, Age) 
VALUES 
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')"; 

if (!mysqli_query($con,$sql)) 
{ 
    die('Error: ' . mysqli_error($con)); 
} 

echo "1 record added"; 

mysqli_close($con); 
?> 

Вышеприведенный код выполняется правильно, но я не понимаю, как переменная $ sql выполняется без написания mysqli_query ($ sql) ??SQL PHP insert command

+4

[ 'Прекрасный ...'] (http://stackoverflow.com/q/60174/) –

+1

Вы написано 'mysqli_query()', поэтому я не уверен, что вопрос здесь. Вы также должны знать, что у вас есть существенная уязвимость SQL-инъекции. Вы должны рассмотреть возможность использования подготовленных инструкций. –

+1

Вы * сделаете * напишите 'mysqli_query ($ con, $ sql)'. –

ответ

5

Он выполняется в строке:

if (!mysqli_query($con,$sql)) 

Другими словами, «если» проверяет результаты mysqli_query, так делать, что он должен выполнить.

+0

Выполняется в строке: if (! Mysqli_query ($ con, $ sql)) Другими словами, «if» проверяет результаты mysqli_query, так что сделайте это, чтобы выполнить его ... Shit my bad .. я его не переделал .. спасибо Mark .. – Aniket

1

Причина:

if(!mysqli_query($con,$sql)){ // here you execute your code 
} 
2

в вашем случае условие

if(!mysqli_query($con,$sql)) // this line is executing 
{ 
}