2015-04-17 67 views
-3
<?php 

while ($row = $result->fetch_assoc()) { 

echo "<input type =\"submit\" name=\"naam\" value=\"$row['naam']\">"; 

} 

$result->free(); 
?> 

如果我做echo $row['name'],它給出正確的結果,但是當我想要把這個在HTML表單標籤內提交按鈕。它說:語法錯誤,意外'(T_ENCAPSED_AND_WHITESPACE),預計標識

「語法錯誤,意外'(T_ENCAPSED_AND_WHITESPACE),預計 標識符」

我知道我沒有使用轉義的['name']因爲我你呼應「一些文字「,所以我希望有人能幫助我。呼應前,如果你的字符串包含像"雙引號,這將提前終止,並打破了標記字符,添加htmlspecialchars確保:

回答

3

用花括號把它包:

echo "<input type =\"submit\" name=\"naam\" value=\"{$row['naam']}\">"; 

旁註

$row['naam'] = htmlspecialchars($row['naam']); 
+0

非常感謝!那就是訣竅! –

+0

@XavierVanVinken確實很高興這有幫助,當然另一種方式是採取oustide,而不是連接。但要小心,如果'$ row ['naam']'包含一些雙引號,它肯定會破壞該屬性並提前終止它 – Ghost

3

檢查string concatenation operator in PHP

最好看我的解決方案:

while ($row = $result->fetch_assoc()) { 
    echo "<input type='submit' name='naam' value='".$row['naam']."'>"; 
} 

while ($row = $result->fetch_assoc()) { 
    echo '<input type="submit" name="naam" value="'.$row['naam'].'">'; 
} 

確保,您在前面(輸出)之前逃避一些字符與htmlspecialchars(),以確保您的代碼不會破壞了起來:

$naam_value = htmlspecialchars($row['naam']); 
0

您需要使用。因爲你想用$行[ 'NAAM']

echo "<input type =\"submit\" name=\"naam\" value=\".$row['naam'].\">"; 
3

您的代碼目了\和雙引號

的使用價值來連接之間 「」 字符串: -

echo "<input type ='submit' name='naam' value='".$row['naam']."'>"; 
0
echo '<input type ="submit" name="naam" value="' . $row['naam'] . '">'; 
0

有字符串中的問題:儘量

<?php 
while ($row = $result->fetch_assoc()) { 
echo "<input type ='submit' name='naam' value='".$row['naam']."'>"; 
} 
$result->free(); 
?> 
相關問題