2015-12-23 2 views
-4

Справочной информации: Я пытаюсь создать приложение TODOPHP Ошибки при подключении к базе данных

<?php 
require_once 'app/init.php'; 

$itemsQuery = $db->prepare(" 
SELECT id, name, done 
FROM items 
WHERE user = :user 
"); 
$itemsQuery->execute([ 
'user' => $_SESSION['user_id'] 
]); 

$items = $itemsQuery->rowCount() ? $itemsQuery : []; 
foreach ($items as $item) { 
echo $item['name'], '<br>'; 
} 
?> 
<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Darshil Patel</title> 
<meta name="viewport" content="width=device-width, initial-scale=1.0"> 
</head> 
<body> 
    <div class="list"> 
     <h1 class="header">To do.</h1> 

    <ul class="items"> 
     <li> 
      <span class="item">Pick Up Shopping</span> 
      <a href="#" class="done-button">Mark as done</a> 
     </li> 
    </ul> 

    <form class="item-add" action="add.php" method="post"> 
     <input type="text" name="name" placeholder="Add a New Item"   class="input" autocomplete="off" required> 
     <input type="submit" value="Add" class="submit"> 
    </form> 
</div> 

init.php:

<? php 

session_start(); 

$_SESSION['user_id'] = 1; 

$db = new PDO('msql_dbname= u352634928_list;host=mysql.hostinger.co.uk', 'mysql.hostinger.co.uk', 'password'); 

if(!isset($_SESSION['user_id'])) { 
die('You are not signed in'); 
} 

Я не знаю, почему я получение этой ошибки:

Fatal error: Uncaught exception 'PDOException' with message 'invalid data source name' in /home/u352634928/public_html/app/init.php:7 Stack trace: #0 /home/u352634928/public_html/app/init.php(7): PDO->__construct('msql_dbname=u35...', 'u352634928_list', 'password')

1 /home/u352634928/public_html/index.php(2): require_once('/home/u35263492...') #2 {main} thrown in

/home/u352634928/public_html/app/init.php on line 7

+0

Даже после фиксации его я получаю другую ошибку –

+0

проверьте мой ans @ Darshil Patel –

+0

@ParthChavda Я сделал то, что вы мне сказали, и теперь я получаю эту новую ошибку, Ошибка анализа: синтаксическая ошибка, неожиданный '' u352634928_list '' (T_CONSTANT_ENCAPSED_STRING) в /home/u352634928/public_html/app/init.php on line 7 Домен Я загрузил проект также: darshil.xyz –

ответ

0

Простой опечатка:

Изменить

<? php 

Для

<?php 

В принципе, все операторы PHP заканчиваются запятой ;.

И в вашем случае ваш PHP начинается с <?, вы добавили пространство до php.

Итак, php - это утверждение, которое не завершено ;.

В этом причина ошибки синтаксического анализа.

+0

Эй, я исправил это, я все еще получаю ошибку. –

+0

http://darshil.xyz/ Это мой домен, посмотрите сами. –

+0

Снова сделайте то же самое в init.php, он будет работать сейчас. – Pupil

0

Вы оставили пробел между <? и php. Так что в самом начале делайте это <?php

+0

Ошибка анализа: синтаксическая ошибка, неожиданный «session_start» (T_STRING) в /home/u352634928/public_html/app/init.php в строке 3 –

+0

Вы сделали то же самое в файле сеанса –

0

изменение <? php до <?php, удалите пространство между ними.

require_once

pdo

+0

Даже после его исправления я получаю еще одну ошибку darshil.xyz (см. для себя) –

+0

обновите свой вопрос. –

+0

Что такое darshil.xyz, дайте полное сообщение об ошибке –

0

Это правильный синтаксис для подключения с Mysql базы данных:

$dbh = new PDO("mysql:host=$hostname;dbname=mysql", $username, $password); 

для вас

$db = new PDO("mysql:host=mysql.hostinger.co.uk;dbname= u352634928_list", 'mysql.hostinger.co.uk', 'password'); 
+0

Спасибо, что часть работы, но теперь я получаю новую ошибку PARSE error: синтаксическая ошибка, неожиданный '' u352634928_list '' (T_CONSTANT_ENCAPSED_STRING) в /home/u352634928/public_html/app/init.php в строке 7 –

+0

проверить мой обновленный код –

+0

и, пожалуйста, когда вы измените код, добавьте этот код и в свой вопрос –

Смежные вопросы