2017-02-24 15 views
-3

私はINSERTのデータをMSSQLデータベースに書き込もうとしているPHPスクリプトを持っています。スクリプトを実行すると、スクリプトは正常に実行されますが、INSERTはデータをポストしていないようです。関連するコードは次のとおりです。MSSQLの挿入のためのPHPは実行されますが、データは挿入されません

<?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"; 
} 
?> 

私は、フォームデータがスクリプトの実行時に渡されたメッセージを介して正常に渡されていることを確認しました。

ご意見をお寄せください。 マイク

+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) 
関連する問題