troubleshooting Question

Row insertion failed. Array

Avatar of Joe Danyi
Joe Danyi asked on
Microsoft SQL ServerPHPSQL
5 Comments2 Solutions570 ViewsLast Modified:
I am trying to insert items from a form into MSSQL via PHP but I am having some trouble, please see my code bellow and see if you can point me in the right direction as to my trouble. And I thank you in advance.
<?php  
$serverName = "Servername"; 
$uid = "423";   
$pwd = "Password";  
$databaseName = "423"; 

$connectionInfo = array( "UID"=>$uid,                            
                         "PWD"=>$pwd,                            
                         "Database"=>$databaseName); 
  
/* Connect using SQL Server Authentication. */  
$conn = sqlsrv_connect( $serverName, $connectionInfo);  
  
// TRY TO CONNECT
$conn = sqlsrv_connect( $serverName, $connectionInfo);  
if( $conn === false )  
{  
     echo "Could not connect.\n";  
     print_r( sqlsrv_errors() );  
}  

// DEFINE OUR VARIABLES
$today = date('c');
$phpgur = $_POST["gur"];
$phpbur = $_POST["bur"];

/* Set parameter values. */
$params = array($phpbur,$phpgur,$today); // 

/* Set up the parameterized query. */  
$tsql = "INSERT INTO 423.tss (bur,gur,un) VALUES (?,?,?,)";  

/* Prepare and execute the query. */  
$stmt = sqlsrv_query($conn, $tsql, $params);  
if( $stmt )  
{  
     echo "Row successfully inserted.\n";  
}  
else  
{  
     echo "Row insertion failed.\n";  
     print_r( sqlsrv_errors() );  
}  


echo "connectionInfo";
var_dump($connectionInfo);

echo "conn";
var_dump($conn);

echo "params";
var_dump($params);

echo "today is $today";

echo "stmt";
var_dump($stmt);

echo "tsql is $tsql";

/* Free statement and connection resources. */ 
sqlsrv_free_stmt($stmt);  


I revive the following error:
Row insertion failed. Array ( [0] => Array ( [0] => 42000 [SQLSTATE] => 42000 [1] => 102 [code] => 102 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Incorrect syntax near '423.'. [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Incorrect syntax near '423.'. ) ) connectionInfoarray(3) { ["UID"]=> string(3) "423" ["PWD"]=> string(60) "2daf7bedb637d0c77748462f3a073e0a8d895c2a31a5ac3452ad6675fa1a" ["Database"]=> string(3) "423" } connresource(5) of type (SQL Server Connection) paramsarray(3) { [0]=> string(3) "bur" [1]=> string(3) "gur" [2]=> string(25) "2017-03-07T20:09:54-05:00" } today is 2017-03-07T20:09:54-05:00stmtbool(false) tsql is INSERT INTO 423.tss (bur,gur,un) VALUES (test10,test10,12/12/12)
Warning: sqlsrv_free_stmt() expects parameter 1 to be resource, boolean given in G:\s\wunderlist-api-demo-master\brace\connect4.php on line 63

I am using server 2012 R2,
SQL server 2008 ( I believe)
PHP 5.6 on IIS
Thank you in advance let me know if you need more info.
ASKER CERTIFIED SOLUTION
Join our community to see this answer!
Unlock 2 Answers and 5 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 2 Answers and 5 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros