【发布时间】:2014-04-29 02:58:23
【问题描述】:
我的 PHP 表单正在 POST 到一个连接到我的数据库并应该插入记录的 php 文件。
到目前为止,我已经测试了连接并且它正在工作,我的 SELECT 语句正在工作。但我的 INSERT 不是。我在执行前做了一个echo $sql->rowCount();,它返回“0”。每个值应该有一行吗?
我的代码:
try {
$db = new PDO('mysql:host=localhost;dbname=x;charset=utf8', 'x', 'x');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
$db = new PDO('mysql:host=localhost;dbname=x;charset=utf8', 'x', 'x');
$ipaddress = $_SERVER['REMOTE_ADDR'];
$email = $_POST['email'];
$sql = $db->prepare("INSERT INTO ucm_signup (company, address1, address2, city, province, zip, fname,
lname, email, phone, session, iama, buyfrom, ipaddress)
VALUES (:company, :address1, :address2, :city, :province, :zip, :fname, :lname, :email, :phone, :session, :iama, :buyfrom, :ipaddress)");
$sql->bindParam(":company", $_POST['company'],PDO::PARAM_STR);
$sql->bindParam(":address1", $_POST['address1'],PDO::PARAM_STR);
$sql->bindParam(":address2", $_POST['address2'],PDO::PARAM_STR);
$sql->bindParam(":city", $_POST['city'],PDO::PARAM_STR);
$sql->bindParam(":province", $_POST['province'],PDO::PARAM_STR);
$sql->bindParam(":zip", $_POST['zip'],PDO::PARAM_STR);
$sql->bindParam(":fname", $_POST['fname'],PDO::PARAM_STR);
$sql->bindParam(":lname", $_POST['lname'],PDO::PARAM_STR);
$sql->bindParam(":email", $_POST['email'],PDO::PARAM_STR);
$sql->bindParam(":phone", $_POST['phone'],PDO::PARAM_STR);
$sql->bindParam(":session", $_POST['session'],PDO::PARAM_STR);
$sql->bindParam(":iama", $_POST['iama'],PDO::PARAM_STR);
$sql->bindParam(":buyfrom", $_POST['buyfrom'],PDO::PARAM_STR);
$sql->bindParam(":ipaddress", $_POST['ipaddress'],PDO::PARAM_STR);
$sql->execute();
//$db = null;
//header( "Location: http://www.x.com/company/ucm_signup2" );
关于为什么我的执行不正确的任何想法?谢谢
【问题讨论】:
-
执行哪个?您收到什么错误消息(显示或在日志中)?
$_POST['ipaddress']是实际设置的,还是应该使用$ipaddress? -
在执行之前
$sql->rowCount();是否有意义?查询尚未发送到数据库,因此不会有任何结果。 -
这个问题和你的
other question有什么区别?如果您的其他问题成功插入数据库,那么现在有什么问题? @DDDD 您是否要检查一个值是否已经存在? -
这个问题似乎跑题了,因为它是关于混合变量的。
-
@DDDD 无关个人 ;-)
标签: php mysql pdo phpmyadmin