sql >> Databasteknik >  >> RDS >> Mysql

skapa databas med pdo i php

Det finns två stora problem här. Den första är mindre. Dessa kodrader kommer aldrig att fungera:

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

Detta beror på att de båda försöker anropa bindParam som en sträng . Detta är omöjligt. bindParam behöver en referens till en variabel. Det är därför du får felet "kan inte skicka parameter 2 genom referens":du kan bara skicka variabler genom referens.

Båda av dessa skulle dock fungera:

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

Det mer grundläggande problemet är dock din förståelse av förberedda uttalanden. Tanken med förberedda uttalanden är inte enkel byte av strängar till en annan sträng. Det handlar i grunden om att separera strukturen för frågan från data. Namnet på en tabell anses vara en del av strukturen för frågan, inte en del av data. Du måste ange tabellnamnet i den ursprungliga frågan. Din första kod är sättet att göra det.

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



  1. Hur man ändrar teckenuppsättning från latin1 till UTF8 i MySQL

  2. Filtrera MYSQL-fråga med formuläralternativ

  3. Hur hanterar man fel för dubbla poster?

  4. Trädstruktur i sql i Oracle. Hur man visar träd, underordnade noder och överordnade noder i SQL Oracle