sql >> Databasteknik >  >> RDS >> Mysql

Hur konverterar man PDO till mysqli?

Ditt problem är här:

    $query = mysqli_query("SELECT * FROM users WHERE Username = ? AND Password = ?");

    $userParam = array($_POST["Uname"], $_POST["Pass"]);
    $st = $database->prepare($query);
    $st->execute($userParam);

prepare förväntar sig en sträng, mysqli_query är en procedurfunktion som exekverar frågan. Ta bort det. Dessutom måste du med mysqli binda parametrarna först, inte skicka dem till execute() .

$query = "SELECT * FROM users WHERE Username = ? AND Password = ?";

$st = $database->prepare($query);
$st->bindParam("ss",$_POST["Uname"], $_POST["Pass"]);    
$st->execute();

Här är de relevanta avsnitten i manualen:

http://php.net/manual/en/mysqli.prepare.php

http://php.net/manual/en/mysqli-stmt .bind-param.php

http://php.net/manual/en/mysqli-stmt.execute .php



  1. Använder LIKE i en Oracle IN-klausul

  2. MySQL – FOUND_ROWS() Funktion för totalt antal rader som påverkas

  3. Kan inte öka max_open_files för Mysql max-anslutningar i Ubuntu 15

  4. Mysql Jämför två datetime-fält