/ / wie man mysqli_fetch_array mit vorbereiteten Anweisungen verwendet - php, mysqli, vorbereitet-Anweisung

wie man mysqli_fetch_array mit vorbereiteten Anweisungen verwendet - php, mysqli, prepared-statement

Jeder sagte mir, ich solle vorbereitete Aussagen verwenden, aber ich habe keine Ahnung, was ich jetzt tun soll.

 $stmt = mysqli_prepare($con, "SELECT * FROM search WHERE `name2` LIKE "?" AND `approved`="approved"");
mysqli_stmt_bind_param($stmt, "s", $name);

/* execute prepared statement */
mysqli_stmt_execute($stmt);

Das ist mein Code, wie mache ich daraus ein Array?

while ($row=mysqli_fetch_array($result))

von nicht vorbereitet

Antworten:

0 für die Antwort № 1

Ich bin froh zu sehen, dass Sie sich für PDO entscheiden!

//using MySQL
//refer here for reference http://www.php.net/manual/en/ref.pdo-mysql.php
$pdo = new PDO("mysql:host=xxx;port=xxx;dbname=xxx", $username, $password)

//write query
$sql = "SELECT * FROM search WHERE `name2` LIKE "?" AND `approved`="approved"";

//tell query what to replace ? marks with
$fill_array = array($name); // one item in array for the one ? in $sql above

//send query to DB for preparation
$prepare = $pdo->prepare($sql);

//send variables to DB, DB will bind them to the proper place and execute query
$prepare->execute($fill_array);

//get your array. I personally recommend PDO::FETCH_ASSOC but you are using ARRAY
$result = $prepare->fetchAll(PDO::FETCH_ARRAY);

echo "<pre>".print_r($result, true)."</pre>";

Voila!

Bitte nicht, dass Sie Code schreiben müssenFluchen Sie $ name ab und suchen Sie nach Dingen wie% -Zeichen und Unterstrichen. Wenn jemand buchstäblich% eintippt, gibt die LIKE-Anweisung alle Datensätze zurück, für die ein Status genehmigt wurde.