2015-10-11 6 views
0

Я изучаю возможность ввода данных в свою базу данных с помощью подготовленных инструкций php mysqli. Я использую этот код для ввода данных в базу данных.Отображение данных в HTML-форме

$FirstName=ucwords($_POST['fname']); 
$LastName=ucwords($_POST['lname'], "-'"); 
$Customer=$LastName." ".$FirstName; 

$conn = new mysqli($host,$user,$password,$db); 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
$stmt = $conn->prepare("INSERT INTO customers (FirstName, LastName, Customer) VALUES (?, ?, ?)"); 
$stmt->bind_param("sss", $FirstName, $LastName, $Customer); 
$stmt->execute(); 
$conn->close(); 

Это работает очень хорошо. Особенно с переносимыми именами или именами с апостофом, такими как Пит О'Брайан.

Теперь, пытаясь вернуть данные из базы данных, я использую следующий код.

$conn = new mysqli($host,$user,$password,$db); 

if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
$stmt = $conn -> prepare("SELECT Customer, Instrument1 FROM tblinvoice WHERE InvID = ?"); 

$stmt->bind_param("i", $tempid); 
$stmt->execute(); 
$stmt -> bind_result($cust, $inst); 
$stmt -> fetch(); 
$cust = mysqli_real_escape_string($conn, $cust); 
$stmt -> close(); 
$conn -> close(); 

НО ВЫЧИСЛЕННЫЙ ВЫВОД O \ для фамилии O'Brian. Я удаляю mysqli_real_escape_string ($ conn, $ cust) и просто использую связанное значение $ cust. Я просто получаю O вместо O'Brian.

Может ли кто-нибудь сказать мне, что я не делаю, или что я здесь делаю неправильно?

+0

Использовать 'mysql_real_escape_string' на ** INSERT ** не на ** SELECT ** m, если вы так, вам не нужно ничего выводить на выходе –

ответ

1

всегда использует htmlspecialchars() в содержании от db, которые будут отображаться в html.

echo htmlspecialchars($yourresult['yourfield'], ENT_QUOTES); 

Мы всегда должны использовать htmlspecialchars при заполнении значений полей ввода формы HTML.

+0

GREAT спасибо, используя htmlspecialchars. Я уже избежал строки на вставке, поэтому я удалил побег на восстановление, и теперь получаю ожидаемые результаты !!! – phpnoobie

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