sql >> Database >  >> Database Tools >> phpMyAdmin

Waarde verhogen in PHP-script werkt niet

Een paar dingen die gerepareerd moeten worden. eerst gebruikt u mysql terwijl u mysqli of PDO zou moeten gebruiken. Ten tweede gebruikt u postgegevens zonder enige ontsnapping. Ten derde heb je deze selectie en update niet nodig. U kunt het in een enkele verklaring doen.

$query = "UPDATE tinyblog SET views = views + 1 WHERE id = (SELECT id FROM tinyblog where id=:article)"
$db = new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password');
$stmt = $db->prepare($query);
$stmt->execute(array(":article"=>$article_id));

Wat we hier doen, is een voorbereide verklaring maken met één plaatshouder. We hebben het genoemd als :article maar het had kunnen worden achtergelaten als ? in plaats daarvan.

Wanneer de query wordt uitgevoerd, moet u de ontbrekende bits invullen door parameters door te geven. Dat doen we in de laatste stap met array(":article"=>$article_id)

Omdat het een benoemde parameter is, gebruiken we een associatieve array. Als alternatief had je execute kunnen aanroepen zonder parameters als je bindParam had aangeroepen eerst.



  1. phpMyAdmin - #1267 - Illegale mix van sorteringen voor bewerking '<'

  2. Beste script om meerdere databases te herstellen met SQL Server 2012?

  3. MySQL Workbench crasht bij opstarten op Windows

  4. WAMP opnieuw geïnstalleerd, Wordpress-tabellen niet gevonden MAAR zijn in PHPMYADMIN