Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP连接名称并更新SQL字段_Php_Mysql_Concatenation - Fatal编程技术网

PHP连接名称并更新SQL字段

PHP连接名称并更新SQL字段,php,mysql,concatenation,Php,Mysql,Concatenation,首先,这是我的代码 $qry="SELECT * FROM Members WHERE member_id = '".$_SESSION['SESS_MEMBER_ID']."'"; $result=mysql_query($qry); $check = mysql_fetch_assoc($result); if($check['fullname'] == 0) { $qry1 = "SELECT CONCAT( fname, ' ', lname ) AS firstlast FROM M

首先,这是我的代码

$qry="SELECT * FROM Members WHERE member_id = '".$_SESSION['SESS_MEMBER_ID']."'";
$result=mysql_query($qry);
$check = mysql_fetch_assoc($result);

if($check['fullname'] == 0) {
$qry1 = "SELECT CONCAT( fname, ' ', lname ) AS firstlast FROM Members WHERE member_id = '".$_SESSION['SESS_MEMBER_ID']."'";
$result1 = mysql_query($qry1);
$qry2 = "UPDATE Members SET fullname = '$result1'"; }
我正在努力做到以下几点:-


检查Members表中的“fullname”字段是否为0,即 基于成员id的默认值 如果是,则将fname和lname字段合并为一个字段 字符串,中间有空格 将这个连接的字符串放回成员中 “全名”字段中的表
在不了解问题的情况下,您可以在一个查询中完成所有这些操作:

UPDATE Members SET fullname=CONCAT(fname,' ',lname) 
      WHERE fullname=0 AND member_id = '".$_SESSION['SESS_MEMBER_ID']."'

在不了解问题的情况下,您可以在一个查询中完成所有这些操作:

UPDATE Members SET fullname=CONCAT(fname,' ',lname) 
      WHERE fullname=0 AND member_id = '".$_SESSION['SESS_MEMBER_ID']."'

您可以通过一个查询很容易地实现这一点:

UPDATE `Members` 
SET `fullname` = CONCAT(`fname`, ' ', `lname`) 
WHERE `member_id` = '".$_SESSION['SESS_MEMBER_ID']."' 
  AND `fullname` = 0 
LIMIT 1;

您可以通过一个查询很容易地实现这一点:

UPDATE `Members` 
SET `fullname` = CONCAT(`fname`, ' ', `lname`) 
WHERE `member_id` = '".$_SESSION['SESS_MEMBER_ID']."' 
  AND `fullname` = 0 
LIMIT 1;
尝试:

尝试:


只需一个查询即可完成此操作

$query = "UPDATE Members SET fullname = CONCAT( fname, ' ', lname )
          WHERE member_id = {$_SESSION['SESS_MEMBER_ID']}
          AND fullname = 0" 

只需一个查询即可完成此操作

$query = "UPDATE Members SET fullname = CONCAT( fname, ' ', lname )
          WHERE member_id = {$_SESSION['SESS_MEMBER_ID']}
          AND fullname = 0" 

实际上,您可以在一个查询中执行此操作,而无需调用select一次


实际上,您可以在一个查询中执行此操作,而无需调用select一次


问题是什么?上次查询$qry2将所有记录设置为相同的全名。问题是什么?上次查询$qry2将所有记录设置为相同的全名。这将更新每个人的全名字段,而不仅仅是当前用户。同意,我更新了答案。但是,OP不会说明问题,也会更新所有记录;-。检查成员表中的“全名”字段是否为0,这是基于成员id的默认值;很好用!而且比我最初想做的事情要简单得多。非常感谢大家:-@Chris,请阅读MySQL教程。你可以在数据库中做很多事情。祝你好运。这将更新每个人的全名字段,而不仅仅是当前用户。同意,我更新了答案。但是,OP不会说明问题,也会更新所有记录;-。检查成员表中的“全名”字段是否为0,这是基于成员id的默认值;很好用!而且比我最初想做的事情要简单得多。非常感谢大家:-@Chris,请阅读MySQL教程。你可以在数据库中做很多事情。祝你好运。这不会检查fullname==0。谢谢注意,但我认为用户在运行此查询之前签入了程序,比如if$check['fullname']==0{-},不会检查fullname==0。谢谢注意,但我认为用户在运行此查询之前签入了程序,比如if$check['fullname']==0{-}