2016-05-04 1 views
0

Celui-ci m'a fait perplexe pendant un moment je ne peux pas voir pourquoi je reçois cette erreur. Ceci est mon codeNote: Tableau à la conversion de chaîne Erreur: Array

<?php 
include('include/auth.php'); 
ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 

if(isset($_POST['submit'])) 
{ 

    $serverName = "localhost"; 
    $connectionInfo = array("Database"=>"db", "UID"=>"sa", "PWD"=>"****"); 
    $conn = sqlsrv_connect($serverName, $connectionInfo); 
    if($conn === false) { 
     die(print_r(sqlsrv_errors(), true)); 
    } 


    $pathfinderid = $_POST['pathfinderid']; 
    $locationid = $_POST['locationid']; 
    $status = $_POST['status']; 
    $statusnote = $_POST['statusnote']; 
    $user = $_SESSION['SESS_USER']; 
    $date = new DateTime(); 
    $ims = 'New Device Added'; 

    if(empty($pathfinderid) || empty($locationid) || empty($status) || empty($statusnote)) { 
     echo "<div id='source'><p style='color:red;'>Please complete all fields</p></div>"; 
    } 
    else 
    { 
     //SQL to check if pathdnder exsists 
     $stmt = sqlsrv_query($conn, "SELECT * FROM devices WHERE pathfinderid='$pathfinderid'"); 
     //If statement to check rows 
     if ($stmt) { 
      $rows = sqlsrv_has_rows($stmt); 

      if ($rows === true) { 
       echo "<div id='source'><p style='color:red';>PathfinderID already exists</div>"; 
      } 
      else 
      { 
       //Insert in to Devices Table 
       $tsql="INSERT INTO devices (pathfinderid, locationid, addeddate, status, creation_date, status_note) VALUES (?,?,?,?,?,?)"; 
       $var = array ($pathfinderid, $locationid, $date, $status, $date, $statusnote); 
       if (!sqlsrv_query($conn, $tsql, $var)) { 
        die('Error: ' . sqlsrv_errors()); 
       } 
       //Insert in to Transaction Log 
       $tsql="INSERT INTO transaction_log (Date, IMS, PathfinderID, LocationID, TransactionNotes, ManagedBy) VALUES (?,?,?,?,?,?,?)"; 
       $var = array ($date, $ims, $pathfinderid, $locationid, $statusnote, $statusnote, $user); 
       if (!sqlsrv_query($conn, $tsql, $var)) { 
        die('Error: ' . sqlsrv_errors()); 
       } 
       //Insert in to Movment Log 
       $tsql="INSERT INTO movement_log (pathfinderid, locationid, status, update_timestamp, addeddate, status_note) VALUES (?, ?, ?, ?, ?, ?')"; 
       $var = array ($pathfinderid, $locationid, $status, $date, $date, $statusnote); 
       if (!sqlsrv_query($conn, $tsql, $var)) { 
        die('Error: ' . sqlsrv_errors()); 
       } 
       //Display the confirmation messgae 
       echo "<div id='source'><p style='color:green;'>Device Added</p></div>"; 

      } 
     } 


    } 
} 

>

L'erreur est en baisse comme Beng sur la ligne 52 qui est:

//Insert in to Transaction Log 
       $tsql="INSERT INTO transaction_log (Date, IMS, PathfinderID, LocationID, TransactionNotes, ManagedBy) VALUES (?,?,?,?,?,?,?)"; 
       $var = array ($date, $ims, $pathfinderid, $locationid, $statusnote, $statusnote, $user); 
       if (!sqlsrv_query($conn, $tsql, $var)) { 
        die('Error: ' . sqlsrv_errors()); 
       } 

Toutes les idées? La seule chose que je peux penser est si c'est parce que je réutilise des noms de variables?

Répondre

2

Vous avez une double variable (StatusNote de $)

 //Insert in to Transaction Log 
     $tsql="INSERT INTO transaction_log (Date, IMS, PathfinderID, LocationID, TransactionNotes, ManagedBy) VALUES (?,?,?,?,?,?,?)"; 
     $var = array ($date, $ims, $pathfinderid, $locationid, $statusnote, $statusnote, $user); 
     if (!sqlsrv_query($conn, $tsql, $var)) { 
      die('Error: ' . sqlsrv_errors()); 
     } 

devrait être

 //Insert in to Transaction Log 
     $tsql="INSERT INTO transaction_log (Date, IMS, PathfinderID, LocationID, TransactionNotes, ManagedBy) VALUES (?,?,?,?,?,?)"; 
     $var = array ($date, $ims, $pathfinderid, $locationid, $statusnote, $user); 
     if (!sqlsrv_query($conn, $tsql, $var)) { 
      die('Error: ' . sqlsrv_errors()); 
     } 
+0

Il y a aussi une question marque de paramètre fictif supplémentaire dans les valeurs. – iainn

+0

oui, donc soit la variable doit être une autre variable ou les choses sont désynchronisées par copier coller du code – RST