2013-11-25 2 views
-1

Hey What's Up Everybody ... У меня много проблем с этим скриптом. Я предполагаю, что это стандартный материал PHP MYSQLI. Он работал, пока я не попытался добавить части строки mysqli_real_escape. Есть идеи?MYSQLI mysqli_real_escape_string и проблемы с PHP

<?php 

    require_once 'connect.php'; 

    $name = ($_POST['name']); 
    $address = ($_POST['address']); 
    $city = ($_POST['city']); 
    $state = ($_POST['state']); 
    $zip = ($_POST['zip']); 
    $persons = ($_POST['persons']); 
    $damages = ($_POST['damages']); 
    $complaint = ($_POST['complaint']); 

    $safename = mysqli_real_escape_string($connection, $name); 
    $safeaddress = mysqli_real_escape_string($connection, $address); 
    $safecity = mysqli_real_escape_string($connection, $city); 
    $safestate = mysqli_real_escape_string($connection, $state); 
    $safezip = mysqli_real_escape_string($connection, $zip); 
    $safedate = mysqli_real_escape_string($connection, $date); 
    $safepersons = mysqli_real_escape_string($connection, $persons); 
    $safedamages = mysqli_real_escape_string($connection, $damages); 
    $safecomplaint = mysqli_real_escape_string($connection, $complaint); 

    $query = "INSERT INTO blacklisted 
    (
    name, 
    address, 
    city, 
    state, 
    zip, 
    date, 
    persons, 
    damages, 
    complaint 
    ) 
    VALUES 
    (
    ".$safename.", 
    ".$safeaddress.", 
    ".$safecity.", 
    ".$safestate.", 
    ".$safezip.", 
    ".$safedate.", 
    ".$safepersons.", 
    ".$safedamage.", 
    ".$safecomplaint." 

    )"; 

    $result = mysqli_query($connection, $query); 

    mysqli_free_result($result); 

    mysqli_close($connection); 

    ?> 

У меня было впечатление, что все будет хорошо, но теперь я смущен.

ответ

1

Строковые значения в SQL-запросах должны быть указаны. Вы просто избегаете данных и их сбрасываете в строку. (Я не понимаю, почему вы объединяете все свои строки, вместо того, чтобы использовать переменную интерполяцию).

В любом случае вы не должны вставлять пользовательский ввод в строки SQL. Используйте prepared statements.

+0

Вы имеете в виду '. $ Name.' ? – Julian

+0

Да. Не делай этого. – Quentin

+0

, так что проблем с частью mysqli_real_escape_string? – Julian

Смежные вопросы