Mysql
 sql >> база данни >  >> RDS >> Mysql

създаване на база данни с pdo в php

Тук има два големи проблема. Първият е незначителен. Тези редове код никога няма да работят:

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

Това е така, защото и двамата се опитват да извикат bindParam като низ . Това е невъзможно. bindParam има нужда от препратка към променлива. Ето защо получавате грешка „не може да се предаде параметър 2 чрез препратка“:можете да предавате само променливи чрез препратка.

Всяко от тях обаче би работило:

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

По-фундаменталният проблем обаче е вашето разбиране на подготвените изявления. Идеята на подготвените изявления е не просто заместване на низове в друг низ. Основно става дума за разделяне на структурата на заявката от данните. Името на таблица се счита за част от структурата на заявката, а не за част от данните. Трябва да поставите името на таблицата в оригиналната заявка. Първият ви код е начинът да го направите.

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hibernate + MySQL:Как да настроите кодирането utf-8 за база данни и таблици

  2. Искам да разделя низ в mysql с помощта на SUBSTRING_INDEX

  3. MySQL комбинира две колони в една колона

  4. Как да открием UTF-8 символи в колона, кодирана с Latin1 - MySQL

  5. MySQL връзка през SSH тунел - как да посочите друг MySQL сървър?