sql >> Database >  >> RDS >> Mysql

Perl dbi prepare plaatst verkeerde quote

Het doet gewoon wat je vroeg. Wanneer een tekenreeks wordt gegeven, ? is gelijk aan een letterlijke tekenreeks. Dus

SELECT * FROM Table WHERE field = ?

betekent

SELECT * FROM Table WHERE field = 'test'

en

SELECT * FROM ?

betekent

SELECT * FROM 'test'

U moet

. gebruiken
$dbh->prepare("
   CREATE TABLE IF NOT EXISTS ".( $dbh->quote_identifier('test') )." (
             `id` bigint(100) unsigned NOT NULL AUTO_INCREMENT
          )
");


  1. Toegang geweigerd voor gebruiker 'root'@'localhost' tijdens een poging om privileges te verlenen. Hoe verleen ik privileges?

  2. Hoe de inloggegevens van de gebruiker in Android te valideren met behulp van PHP, MySql met behulp van json

  3. Opties om de huidige (op een moment van lopende query) reekswaarde op te halen

  4. Iemand heeft mijn database gehackt - hoe?