0

在 PHP mysqli 准备好的语句中连接字符串和变量的正确语法是什么?

我现在的代码是这样的:

        if ($test_stmt2=$mysqli->prepare("UPDATE friends SET friendslist=friendslist+','+? WHERE friendsuserid=? ")) { //Insert userid and frienduserid into friends table
               $test_stmt2->bind_param('si', $friendid, $userid); //Bind parameters (friend user id, your own user id)
               $test_stmt2->execute(); //Execute the prepared query
               echo "success";
        }

基本上,我想获取friendslist列中的字符串,为其添加一个逗号,然后将另一个变量字符串 ( $friendid) 添加到friends表中的该单元格。

4

1 回答 1

2

看来您需要SQL连接。

但是,您不应将其用于此目的。您的数据库结构是对神圣范式的致命罪过。

请不要在数据库单元格中存储逗号分隔的值。创建一个不同的来存储相应的值。

userid | friendid
     1 |        2
     1 |        3
     1 |        5
     5 |        1
     5 |        2
     2 |       10

这样,您将需要像这样的常规插入查询:

INSERT INTO friendslist SET friendid = ?, userid = ? 

它会在不久的将来为你节省很多头发

于 2013-08-09T21:13:20.103 回答