Привет и спасибо за чтение.
Я новичок в php (но я уже давно программирую), поэтому я решил использовать интерфейс pdo в качестве стартового для моих запросов к базе данных.Я поставил небольшой скрипт для тестирования, но он возвращает имя базы данных как имя одного из столбцов.Зачем?
Также для вас, pdo профессионалы, как только я создаю новый объект pdo без указания имени базы данных, как я могу выбрать его, чтобы предотвратить запись "databaseName.tableName" в моих запросах ... Смотрите мой скрипт ниже: <pre>
<p>try
{
$dbh = new PDO('mysql:host=localhost', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch (Exception $e)
{
echo 'Erreur : ' . $e->getMessage() . '<br />';
echo 'N° : ' . $e->getCode();
die();
}</p>
<p>$sth = $dbh->prepare("CREATE DATABASE IF NOT EXISTS myTest DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci");
$sth->execute();</p>
<p>$sth = $dbh->prepare("CREATE TABLE IF NOT EXISTS myTest.user(
personID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(personID),
FirstName varchar(15),
LastName varchar(15),
Age int(3)
)");
$sth->execute();</p>
<p>$sth = $dbh->prepare("INSERT INTO myTest.user (FirstName, LastName, Age) VALUES(?, ?, ?)");
$sth->execute(array("Charles", "Gagnon", "28"));</p>
<p>$sth = $dbh->query("SELECT * FROM myTest.user");
$result = $sth->fetch(PDO::FETCH_ASSOC);</p>
<p>$json = json_encode($result);
print_r($json);</p>
<p>?>
Так что да, print_r выводит этот json:
{"personID":"1","FirstName":"Charles","user":"28"}
Довольно странно, он выводит имя таблицы (пользователя) вместо «Age» и LastNameполя там вообще нет ...
Любая помощь будет оценена, спасибо!