webentwicklung-frage-antwort-db.com.de

PHP sqlsrv Abfrage an die Datenbank

Ich werde von MySQL zu MS SQL Server migriert und versuche, alle Daten aus der Routingtabelle abzurufen. Ich bin zwar verbunden, weiß aber nicht, wie ich mit sqlsrv Daten abrufen kann. So weit bin ich gekommen:

$conn_array = array (
    "UID" => "sa",
    "PWD" => "root",
    "Database" => "nih_bw",
);
$conn = sqlsrv_connect('BILAL', $conn_array);
if ($conn){
    echo "connected";
    $result = sqlsrv_query($db->db_conn,"SELECT * FROM routines");
}else{
    die(print_r(sqlsrv_errors(), true));
}
sqlsrv_close($conn);
?>
10
user3185936

Wenn ich mich nicht irre, speichern Sie sqlsrv_connect-Ergebnis zuerst in $conn und dieses Ergebnis ist keine Klasse obj. Es ist eine Ressource. Entfernen Sie $db->conn.

In diesem Beispiel wird eine Verbindung hergestellt und es wird abgerufen, wenn Ressourcen von sqlsrv_query zurückgegeben werden.

$conn_array = array (
    "UID" => "sa",
    "PWD" => "root",
    "Database" => "nih_bw",
);
$conn = sqlsrv_connect('BILAL', $conn_array);
if ($conn){
    echo "connected";
    if(($result = sqlsrv_query($conn,"SELECT * FROM routines")) !== false){
        while( $obj = sqlsrv_fetch_object( $result )) {
              echo $obj->colName.'<br />';
        }
    }
}else{
    die(print_r(sqlsrv_errors(), true));
}
10
Quijote Shin

Nachdem Sie die Abfrage erfolgreich mit sqlsrv_query ausgeführt haben, können Sie die Ergebnisse abrufen, beispielsweise mit sqlsrv_fetch_array:

$result = sqlsrv_query($db->db_conn, "SELECT * FROM routines");
if($result === false) {
    die( print_r( sqlsrv_errors(), true) );
}

while( $row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC) ) {
    echo $row['column1'].", ".$row['column2']."<br />";
}
1
Mureinik

Versuche dies: 

while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_ASSOC) ) {
  var_dump($row);
}

sqlsrv_free_stmt($result);
0
Grzegorz Motyl