连接到数据库时发生PHP错误

连接到数据库时发生PHP错误,php,mysql,database,Php,Mysql,Database,背景资料: 我正在尝试创建一个待办事项应用程序 <?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-&g

背景资料: 我正在尝试创建一个待办事项应用程序

<?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');
}
简单的打字错误:

改变

<? php 

您在
更改
之间留了一个空格这是连接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');

即使修复了它,我也会收到另一个错误检查我的ans@DarshilPatel@ParthChavda我照你说的做了,现在我得到了这个新错误,解析错误:语法错误,意外的“u352634928\u列表”(T\u常量\u封装的\u字符串)在第7行的/home/u352634928/public_html/app/init.php中,我上传的项目域也是:darshil.xyz将问题更新到您的代码中。您应该重置您的DB密码。即使修复了它,我也会收到另一个错误darshil.xyz(请自行查看)我已经将我的问题修正到了我得到的新错误我认为你有很多语法错误,每次你发布不同的错误行1,2,3.,正确地更新你的错误,只有这样其他人才能帮助你out@sa-7这个错误是什么意思?解析错误:语法错误,第7行的/home/u352634928/public\u html/app/init.php中出现意外的“u352634928\u列表”(T\u常量包装的字符串),解析错误:语法错误,第3行的/home/u352634928/public\u html/app/init.php中出现意外的“session\u start”(T\u字符串),在会话文件中再次执行相同的操作,在init.php中执行相同的操作,它现在可以工作了。我得到一个新的错误致命错误:未捕获的异常“PDOException”,在/home/u352634928/public_html/app/init.php中显示消息“无效的数据源名称”。php:7堆栈跟踪:#0/home/u352634928/public_html/app/init.php(7):PDO->u构造('msql_dbname=u35…,'u352634928_list','Saibaba2'))#1/home/u352634928/public_html/index.php(2):require_once('/home/u35263492…')#2{main}在第7行Darshil.xyz上抛出/home/u352634928/public_html/app/init.php,这是我的域名,这部分工作,但现在我得到了一个新的错误解析错误:语法错误,意外的“u352634928_列表”(T_常量_封装的字符串)在第7行的/home/u352634928/public_html/app/init.php中,当您更改代码时,请在您的问题中添加该代码
$db = new PDO("mysql:host=mysql.hostinger.co.uk;dbname= u352634928_list", 'mysql.hostinger.co.uk', 'password');