拖放排序以插入MySQL中


Drag and Drop sort to INSERT in MySQL

我正在使用这个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;
    }
}

但是,现在,它只为一个用户插入。当其他用户尝试提交其排序列表时。它不会添加到表中。你能帮我弄清楚吗?谢谢

Dinesh在安全问题上肯定是正确的。但无论如何,你需要用引号(')包围你的数据值(特别是字符串类型!),但省略连接运算符(.),因为整个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 对象的数据库处理程序。