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{-}