Php 将textfield值绑定到数组并放入数据库
我正在制作一个简单的私人混乱系统。当用户发送消息时,他/她必须填写三个字段:“收件人”、“主题”和“消息”。在“收件人”字段中,用户可以输入用户名以将其消息发送到。然后,使用mySql(phpmyadmin),我尝试从users表中获取相应的user_id。 例如,用户id“1”的用户名为“testing”。当用户在“to”字段中键入“testing”时,“我的代码”会在用户表中搜索用户名为“testing”的用户,并获取相应的用户id。 获取用户id后,它将用户id放入conversations\u members表中 我的问题是代码确实采用了正确的用户id(我通过打印数组检查了这一点),但它没有将正确的用户id放入表中。它总是0 请参阅下面的代码,这里我将user\u id添加到数组$user\u idPhp 将textfield值绑定到数组并放入数据库,php,mysql,Php,Mysql,我正在制作一个简单的私人混乱系统。当用户发送消息时,他/她必须填写三个字段:“收件人”、“主题”和“消息”。在“收件人”字段中,用户可以输入用户名以将其消息发送到。然后,使用mySql(phpmyadmin),我尝试从users表中获取相应的user_id。 例如,用户id“1”的用户名为“testing”。当用户在“to”字段中键入“testing”时,“我的代码”会在用户表中搜索用户名为“testing”的用户,并获取相应的用户id。 获取用户id后,它将用户id放入conversation
else if(!empty($_POST['to'])){
$stmt = $db->prepare("SELECT user_id FROM user WHERE user_name = :user_name");
$stmt->bindValue(':user_name', $_POST['to'], PDO::PARAM_STR);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
if ($result) {
$user_ids['user_id'] = $result['user_id'];
}
请参阅下面的代码,这里我尝试将用户id添加到表中
$sql4 = $db->prepare("INSERT INTO conversations_members
(conversation_id, user_id, conversation_last_view, conversation_deleted)
VALUES (:conid, :usid, :clv, :condel)");
$sql4->execute(array(
"conid" => "{$conversation_id}",
"usid" => "{$user_ids[0]['user_id']}",
"clv" => "0",
"condel" => "0"
));
我真的希望有人能帮忙,我已经挣扎了几个小时了:(
提前感谢!!为什么要将用户id存储在关联数组中而不是简单的变量中?为什么要将变量(例如)
$user\u id[0]['user\u id']
包装在字符串中?在任何情况下……如果您使用$user\u id['user\u id']
分配值,则无法通过执行$user\u id[0]['user\u id']
。进行打印($user\u id);
并查看该数组中的位置。我猜您正在错误地处理它。注意:不必要的绒毛“conid”=>“{$conversation\u id}”,
以身份写入“conid”=>$conversation\u id,