我正在使用这个PHP MySQL从我的数据库中显示一个可排序的列表。
<?php
$query = "SELECT * FROM question_four ORDER BY recordListingID ASC";
$result = mysql_query( $query );
while( $row = mysql_fetch_array( $result, MYSQL_ASSOC ) ) {
?>
<li id="recordsArray_<?php echo $row['recordID']; ?>"><?php echo $row['recordText']; ?></li>
<?php
}
?>
我尝试使用以下代码将其插入新表中,而不是更新同一个表:
$action = mysql_real_escape_string($_POST['action']);
$updateRecordsArray = $_POST['recordsArray'];
if ( $action == "updateRecordsListings" ) {
$listingCounter = 1;
foreach ( $updateRecordsArray as $recordIDValue ) {
$query1 = "INSERT into answers_questionfour(id,recordListingID,recordID,recordText) values ('.$user_fbid.','.$listingCounter.', '.$recordIDValue.','.$recordText.')";
mysql_query( $query1 ) or die('Error, insert query failed');
$listingCounter = $listingCounter + 1;
}
}
但是,现在,它仅为一个用户插入。当其他用户尝试提交他们的排序列表时。它没有添加到表中。你能帮我解决一下吗?感谢
答案 0 :(得分:0)
'
)包围你的数据值(特别是字符串类型!)但是忽略连接运算符(.
),因为整个sql字符串已被"
包围:
$sql="INSERT into answers_questionfour(id,recordListingID,recordID,recordText)
values ('$user_fbid','$listingCounter', '$recordIDValue','$recordText')"
在PDO语法中,这将是
$sql="INSERT into answers_questionfour(id,recordListingID,recordID,recordText)
values (?,?,?,?)";
$sth = $dbh->prepare($sql);
$sth->execute(array($user_fbid,$listingCounter, $recordIDValue,$recordText));
$dbh
是分配给PDO对象的数据库处理程序。