sql >> Database >  >> RDS >> Mysql

database maken met pdo in php

Er zijn hier twee grote problemen. De eerste is klein. Deze regels code zullen nooit werken:

$db->bindParam(1,`account`);
$db->bindParam(1,'$dbb'); //line 17

Dit komt omdat ze allebei proberen bindParam . aan te roepen als een tekenreeks . Dit is onmogelijk. bindParam heeft een verwijzing naar een variabele nodig. Dit is de reden waarom u de foutmelding "kan parameter 2 niet doorgeven via referentie" krijgt:u kunt alleen variabelen doorgeven op referentie.

Elk van deze zou echter werken:

$db->bindParam(1, $dbb); // call bindParam on a variable
$db->bindValue(1, 'account'); // call bindValue on a string literal

Het meer fundamentele probleem is echter uw begrip van voorbereide verklaringen. Het idee van voorbereide verklaringen is niet eenvoudige vervanging van strings in een andere string. Het gaat in wezen om de scheiding van de structuur van de query en de gegevens. De naam van een tabel wordt beschouwd als onderdeel van de structuur van de query, niet als onderdeel van de gegevens. U moet de tabelnaam in de oorspronkelijke query plaatsen. Je eerste code is de manier om het te doen.

$db = $conn->prepare( 'CREATE SCHEMA IF NOT EXISTS account');



  1. Waarom geen vensterfuncties in waar-clausules?

  2. Vul een tekenreeks in met voorloopnullen zodat deze 3 tekens lang is in SQL Server 2008

  3. Optimalisatiedrempels - Gegevens groeperen en aggregeren, deel 5

  4. 4 manieren om een ​​lijst met schema's te krijgen in SQL Server Agent (T-SQL)