2016-07-03 6 views
0

Hallo Leute, ich habe eine schwierige Zeit hier. Ich möchte Daten in SQL-Server mit Hilfe von PHP aktualisieren, aber es bleibt fehlgeschlagen. Kann mir jemand dabei helfen? Hier sind meine Beispielcodes, die ich verwendet habe. Bitte helft mir dabei, dass ich beauftragt wurde, das zu schaffen, und es hält mich im Stich. Ich bin mir nicht sicher, wo das Problem liegt. Ich werde für Ihre Hilfe dankbar sein.Wie aktualisiert man Daten in sqlsrv mit PHP

<?php 
    if(isset($_POST['update'])) { 
     $server = "WIN-2012SRV-BK"; 
     $user = "sa"; 
     $pass = ""; 
     $db = "test"; 
     $connInfo = array("Database"=>$db, "UID"=>$user, "PWD"=>$pass); 
     $conn = sqlsrv_connect($server, $connInfo) or die(print_r(sqlsrv_errors(), true)); 


     //$id = $_POST['id']; 
     //$emp_salary = $_POST['emp_salary']; 
     $pin = $_POST['pin']; 
     $phone = $_POST['phone']; 

     $sql = "UPDATE [test].[dbo].[subscriptions] ". "SET pin = {$pin} ". 
      "WHERE phone = {$phone}" ; 
     //$sqlsrv_select_db('test'); 
     $retval = sqlsrv_query($sql, $conn); 

     if(! $retval) { 
      die('Could not update data: '); 
     } 
     echo "Updated data successfully\n"; 

     mysql_close($conn); 
    }else { 
     ?> 
      <form method = "post" action = "<?php $_PHP_SELF ?>"> 
       <table width = "400" border =" 0" cellspacing = "0" 
       cellpadding = "0"> 

       <tr> 
        <td width = "100">Phone Number</td> 
        <td><input name = "phone" type = "text" 
         id = "phone"></td> 
       </tr> 

       <tr> 
        <td width = "100"> </td> 
        <td> </td> 
       </tr> 

       <tr> 
        <td width = "100"> </td> 
        <td> 
         <input name = "update" type = "submit" 
          id = "update" value = "Update"> 
        </td> 
       </tr> 

       </table> 
      </form> 
     <?php 
    } 
    ?> 

Der Fehler i ist immer am

Warning: sqlsrv_query() erwartet Parameter 1 Ressource, string in C angegeben werden: \ xampp \ htdocs \ visionFund \ pin-reset.php auf der Leitung 70 Daten konnten nicht aktualisiert werden:

+1

Wenn Sie sagen, „failing“, was bedeutet das eigentlich? _Bitte seien Sie präzise _ ... Erhalten Sie einen Fehler? Passiert nichts? Erhalten Sie eine weiße Seite in Ihrem Browser? Was finden Sie in Ihrer HTTP-Server-Fehlerprotokolldatei? – arkascha

+0

Entschuldigung, dass es nicht klar ist. Dies ist der Fehler, den es zurückgibt. "Warnung: sqlsrv_query() erwartet, dass Parameter 1 eine Ressource ist, Zeichenfolge in C: \ xampp \ htdocs \ visionFund \ pin-reset.php in Zeile 70 Daten konnten nicht aktualisiert werden:" – oedward38

+0

Im Allgemeinen (für zukünftige Fragen), fügen Sie bitte zusätzliche Informationen zur Frage hinzu, nicht in Kommentaren. Es gibt einen 'edit' Button unterhalb deiner Frage, _use it_. – arkascha

Antwort

0

Sie haben die Verbindungszeichenfolge in der Abfrage setzen:

$sql = "$connection_string,UPDATE [test].[dbo].[subscriptions] ". "SET pin = {$pin} ". "WHERE phone = {$phone}" ; 
Verwandte Themen