-3
我有一个PHP脚本,试图INSERT
表单数据到MSSQL数据库。当我运行脚本时,脚本成功运行,但INSERT
似乎没有发布数据。下面是相关代码:PHP的MSSQL插入运行,但没有插入数据
<?php
//collect data from form
$username = $_POST['username'];
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$address = $_POST['address'];
$city = $_POST['city'];
$state = $_POST['state'];
$zip = $_POST['zip'];
$telephone = $_POST['telephone'];
$email = $_POST['email'];
$password = $_POST['password'];
$serverName = "192.168.1.1"; //serverName\instanceName
$connectionInfo = array("Database"=>"mydatabase", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if($conn) {
$sql = "INSERT INTO Member_Details (FirstName,LastName,Address,City,State,Zip_Code,Telephone,Email,User_Name,Password,Is_Validated) VALUES (?,?,?,?,?,?,?,?,?,?,?)";
$params = array($firstname,$lastname,$address,$city,$state,$zip,$telephone,$email,username,$password,0);
$stmt = sqlsrv_query($conn, $sql, $params);
echo "You were successfully registered for user name " . $username;
}else {
echo "Something went wrong";
}
?>
我已经证实,表单数据正在通过在脚本的运行通过邮件顺利通过。
任何建议,将不胜感激! Mike
不是你目前的问题,而是你的密码应该复述。检查http://php.net/manual/en/function.sqlsrv-errors.php是否有错误。 – chris85
'$ params'数组中的'username'缺少'$'。这只是你的问题在这里的错字,或者是你的实际代码吗? –
另外,如果无法连接,则检查'$ conn'和“出错了”,但在此之后,您的代码假定查询将成功执行。你应该验证它不返回false,如果有,请检查错误,如下所示:http://php.net/manual/en/function.sqlsrv-errors.php#refsect1-function.sqlsrv-错误 - 例子 –