2017-02-24 63 views
-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

+1

不是你目前的問題,而是你的密碼應該複述。檢查http://php.net/manual/en/function.sqlsrv-errors.php是否有錯誤。 – chris85

+0

'$ params'數組中的'username'缺少'$'。這只是你的問題在這裏的錯字,或者是你的實際代碼嗎? –

+0

另外,如果無法連接,則檢查'$ conn'和「出錯了」,但在此之後,您的代碼假定查詢將成功執行。你應該驗證它不返回false,如果有,請檢查錯誤,如下所示:http://php.net/manual/en/function.sqlsrv-errors.php#refsect1-function.sqlsrv-錯誤 - 例子 –

回答

0

據我記得,你必須預先設定dbo。 (或任何表的所有者)的表名稱。

insert into dbo.tablename (cols) values (vals)