2017-11-25 2 views
0

Wenn ich versuche, einen Wert in meine Datenbank einzufügen, gibt es mir keinen Fehler, aber es fügt mir nichts, auf SQL Server funktioniert es perfekt.Abfrage einfügen mit sqlsrv

<?php 
$serverName = "12.15.88.81"; 
$connectionInfo = array("Database"=>"Dcs", "UID"=>"sa", "PWD"=>"123456"); 
$conn = sqlsrv_connect($serverName, $connectionInfo); 
if($conn === false) { 
    die(print_r(sqlsrv_errors(), true)); 

} 
if (sqlsrv_begin_transaction($conn) === false) { 
    die(print_r(sqlsrv_errors(), true)); 
} 
$sql = "INSERT INTO [dbo].[Dcs_name] (ID,NAME) VALUES (?,?)"; 
$params = array('11','Ani'); 
$stmt = sqlsrv_query($conn, $sql, $params); 



$stmt = sqlsrv_query($conn, $sql, $params); 

if($stmt === false) { 
    if(($errors = sqlsrv_errors()) != null) { 
     foreach($errors as $error) { 
      echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />"; 
      echo "code: ".$error[ 'code']."<br />"; 
      echo "message: ".$error[ 'message']."<br />"; 
     } 
    } 
} 

?> 
+0

Ich benutze keine sql-Server-Funktionen, aber es sieht so aus, als ob Sie eine Transaktion starten, müssen Sie das für die Änderung zu übernehmen, gelten. http://php.net/manual/en/function.sqlsrv-commit.php Auch führen Sie die Abfrage nicht zweimal aus, und ich hätte die "ID" Auto-Inkrement. – chris85

+0

überprüfen Sie dies: der beste Weg, um herauszufinden - https://stackoverflow.com/questions/42648/best-way-to-get-identity-of-inserted-row?rq=1 – vbRocks

Antwort

0

Sie haben Recht, ich habe commit und es funktioniert vielen Dank.