我有一個html調查,答案存儲在應通過PHP加載到數據庫中的變量。PHP字符串變量限制
例如,這是怎樣的問題(表的一部分),您可以填寫看起來像HTML:
<td style="padding-top: 10px;" colspan="9"> Question1:
<p style="text-align:left;"><textarea name="tag1" cols="80" rows="6"
style="border: 1px solid #D0D0D0;"></textarea></p>
</td>
<td style="padding-top: 10px;" colspan="9"> Question2:
<p style="text-align:left;"><textarea name="tag2" cols="80" rows="6"
style="border: 1px solid #D0D0D0;"></textarea></p>
</td>'
的PHP代碼:
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$tag1 = $_POST["tag1"];
$tag2 = $_POST["tag2"];
$sql = "INSERT INTO survey (tag1, tag2)
VALUES ('$tag1','$tag2')";
if (mysqli_query($conn, $sql)) {
echo "";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}'
因此,html中的textarea name =「tag1」...將PHP用戶的答案加載到名爲tag1的數據庫列。
問題是我不能在PHP中插入代碼太多的項目添加到支架上(如標籤1,標籤2,標籤3 ...),因爲角色是有限的。
這是一個問題,由於我應該包括的問題的數量。如果我創建兩個單獨的命令,它將加載到數據庫中的兩個不同的行,看起來很混亂。一個人的答案應該出現在一行中。 (在phpMyAdmin)
我該怎麼解決呢?我應該改變什麼?
[小博](http://bobby-tables.com/)說***腳本是在對SQL注入攻擊的風險。(http://stackoverflow.com/questions/60174/how- ***)瞭解[MySQLi](http://php.net)的[prepared](http://en.wikipedia.org/wiki/Prepared_statement)語句/manual/en/mysqli.quickstart.prepared-statements.php)。即使[轉義字符串](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)是不安全的! –
通常你應該正常化你的表...有一個用戶(持有用戶)表中的問題(持有題)表和連接表user_question(保存用戶的問題) –
小博沒有提到這樣下去,你應該問題還包括用於創建表的SQL語句...如果你想從社區獲得任何有用的建議。否則,人們會被矇住眼睛的飛鏢射擊。 – YvesLeBorg