2015-03-14 25 views
3

У меня есть таблица в MySQL, где есть строка с этими данными.Несколько строк htmlspecialchars в PHP MySQL

  • ID = 187
  • дружественного имени = я не люблю горчицу
  • Filetype = ех

Это первый блок коды ниже работает отлично, и отголоски текст я не как горчица в HTML-форму. Аналогично, если я изменю $row['friendlyname'] на $row['filetype'], текст exe ​​ отражается. Все хорошо, никаких проблем.

<?php 
$con = mysqli_connect('domain','user','pass','db'); 
$sql = "select * from installers where id=187"; 
$result = mysqli_query($con,$sql); 

while($row=mysqli_fetch_array($result)) 
$friendlyname = htmlspecialchars(" ".$row['friendlyname']." ",ENT_QUOTES); 

$con->close(); 
?> 

<input type='text' value='<?php echo $friendlyname; ?>'> 



Проблема у меня есть, если я пытаюсь повторить как $row['friendlyname'] и $row['filetype'], только переменную, которая указана первой будет вторит. Например, в приведенном ниже коде $row['friendlyname'] указан до $row['filetype']. В этом примере будет отображаться только $row['friendlyname'] (i не нравится горчица). Аналогично, если $row['filetype'] указан до $row['friendlyname'], то только $row['filetype'] (exe ​​) отражается, а вторая другая форма ввода HTML пуста.

<?php 
$con = mysqli_connect('domain','user','pass','db'); 
$sql = "select * from installers where id=187"; 
$result = mysqli_query($con,$sql); 

while($row=mysqli_fetch_array($result)) 
$friendlyname = htmlspecialchars(" ".$row['friendlyname']." ",ENT_QUOTES); 
$filetype= htmlspecialchars(" ".$row['filetype']." ",ENT_QUOTES); 

$con->close(); 
?> 

<input type='text' value='<?php echo $friendlyname; ?>'> 
<input type='text' value='<?php echo $filetype; ?>'> 



Примечание 1: Это не имеет значения, порядок форм ввода типа. Я решил это как вопрос.
Примечание 2: Если бы я должен был заменить $row['friendlyname'] и $row['filetype'] с текстом, который я пытаюсь эхо, то он работает (код ниже). Таким образом, это определенно кажется чем-то с этими переменными $ row.

<?php 
$con = mysqli_connect('domain','user','pass','db'); 
$sql = "select * from installers where id=187"; 
$result = mysqli_query($con,$sql); 

while($row=mysqli_fetch_array($result)) 
$friendlyname = i don't like mustard; 
$filetype= exe; 

$con->close(); 
?> 

<input type='text' value='<?php echo $friendlyname; ?>'> 
<input type='text' value='<?php echo $filetype; ?>'> 

ответ

4

Вы не добавили скобки в while петлю таким образом только первая запись заселенной.

Этот блок:

while($row=mysqli_fetch_array($result)) 
$friendlyname = htmlspecialchars(" ".$row['friendlyname']." ",ENT_QUOTES); 
$filetype= htmlspecialchars(" ".$row['filetype']." ",ENT_QUOTES); 

Должно быть:

while($row=mysqli_fetch_array($result)){ 
    $friendlyname = htmlspecialchars(" ".$row['friendlyname']." ",ENT_QUOTES); 
    $filetype= htmlspecialchars(" ".$row['filetype']." ",ENT_QUOTES); 
} 
+0

Спасибо Спасибо Спасибо! Это решило проблему. Мне жаль, что я все еще новичок в stackoverflow, поэтому у меня недостаточно высокая репутация, чтобы ваш ответ был полезен. Как только моя репутация будет достаточно высокой, я вернусь сюда и займусь этим. Еще раз спасибо!!! – JeremyCanfield

+0

Приятно слышать это, добро пожаловать! – emmanuel

+0

@JeremyCanfield Некоторые из нас имеют upvoted, однако через 16 минут вы можете принять ответ, который дает emmanuel какое-то репутационное спасибо от вас – James

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