我以前从未这样做过,这是我第一次遇到这种情况
这是我创建的代码:
$query = mysql_query("INSERT INTO customerinfo (CustomerID, FirstName, LastName, PhoneNumber, PhoneNumber, PhoneNumber, Email, Symptoms) VALUES ('', '{$first}', '{$last}', {$codearea}, {$threedigit}, {$fourdigit}, '{$email}')", $connection);
如您所见,我的表有6列,其中包括:
现在,当客户端填写表单时,应将其插入数据库。 但是,如果你查看我的insert语句,我列出了3次PhoneNumber列,因为表单在HTML页面上有3个字段(代码区,前缀和行号),我希望所有三个字段都插入到PhoneNumber列中。我怎么能这样做?
谢谢!
答案 0 :(得分:1)
您只需要在PHP中连接.
并将其作为单个字段插入。你可以在MySQL中做类似的事情,但它有点混乱。
答案 1 :(得分:1)
如果您在表单中提示单独的areacode / prefix / line数据,您应该将它们分开保存在数据库中 - 三个单独的字段而不是单个“电话号码”字段。
但是,如果这不可能,那么在PHP中连接值:
INSERT INTO ... (..., PhoneNumber, ...) VALUES (..., '{$codearea}-{$threedigit}-{$fourdigit}', ...)
答案 2 :(得分:1)
在插入之前,您将需要使用PHP将3个HTML表单字段合并在一起:
$vPhoneNumber
= $part1 . $part2 . $part3
然后,您可以在SQL中插入$vPhonenumber
。
答案 3 :(得分:1)
使用变量存储所有相关的电话值,赞:
$phoneNumber = $_POST['codearea'] + " " + $_POST['threedigit'] + " " + $_POST['fourdigit'];
然后,将您的查询更改为:
INSERT INTO customerinfo
(CustomerInfo, FirstName, LastName, PhoneNumber, Email, Symptoms)
VALUES
('', '{$first}', '{$last}', '{$phoneNumber}', '{$email}')", $connection);
如果您必须在3个字段中将数据库中的数据提供给html,那么您正在使用的这种方法将很难完成您的工作。可能你需要在3中“爆炸”电话串。如果你在数据库表中只使用一个html字段或3个列,那就更好了。
答案 4 :(得分:1)
$query = mysql_query(
"INSERT INTO customerinfo (
CustomerInfo,
FirstName,
LastName,
PhoneNumber,
Email,
Symptoms
) VALUES (
'',
'".$first."',
'".$last."',
'".$codearea.$threedigit.$fourdigit."',
'".$email."',
'".$symptoms."'
)", $connection);
答案 5 :(得分:0)
无法在一个字段中存储三个值。
你必须
答案 6 :(得分:0)
在执行查询之前将值连接成单个字符串。
$phone = $codearea . $threedigit . $fourdigit;
$query = mysql_query("INSERT INTO customerinfo (CustomerID, FirstName, LastName, PhoneNumber, Email, Symptoms) VALUES ('', '{$first}', '{$last}', '{$phone}', '{$email}')", $connection);
答案 7 :(得分:-1)
不推荐使用PHP mysql_
,而是使用http://php.net/pdo。
正确转义列名并使用PDO预处理语句设置绑定。
INSERT INTO `customerinfo` (`CustomerInfo`, `FirstName`, `LastName`) VALUES (:customer_info, :first_name, :last_name);
一旦你有了这个,就可以像这样执行查询。
$sth = $db->prepare([the query from the above]);
$sth->execute(array('customer_info' => implode('; ', array([data that you want to concatenate])), 'first_name' => 'name', 'last_name' => 'name'));