Mesuti
@Mesuti

В чем ошибка вывода данных из бд на страницу?

Привет!
Есть База данных со столбцами Телефон, Дата, Имя, Площадка.
Есть форма на странице.
Она ищет данные в бд и которые нашлись выводятся на странице.
Но выдает ошибку. В чем может быть проблема?
Parse error: syntax error, unexpected '$data' (T_VARIABLE), expecting ',' or ';' in C:\OpenServer\domains\test.html\index.php on line 81
index.php
<?php
// Хостинг
$sql_ipmysql = "localhost";
// Логин
$sql_login = "root";
// Пароль
$sql_password = "";
// База Данных
$sql_database = "base";

// Подключаемся к БД
$conn = new mysqli($sql_ipmysql, $sql_login, $sql_password, $sql_database);

if ($conn->connect_errno) {
    echo "Извините, возникла проблема на сайте";
    echo "Ошибка: Не удалсь создать соединение с базой MySQL и вот почему: \n";
    echo "Номер_ошибки: " . $conn->connect_errno . "\n";
    echo "Ошибка: " . $conn->connect_error . "\n";
    // Вы можете захотеть показать что-то еще, но мы просто выйдем
    exit;
}
?>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
    
<form action="" method="post">
    <input type="text" name="phone" placeholder="Телефон"/><br />
    <input type="text" name="dateadd" placeholder="Дата"/><br />
    <input type="text" name="name" placeholder="Имя"/><br />
    <input type="text" name="place" placeholder="Площадка"/><br />
    <input type="submit" value="Поиск" />
</form>
 
 
<?php

if ($phone){
    $zapros1 = " and `phone` IN ($phone)";
} else {$zapros1="";}

if ($pdateadd){
    $zapros2 = " and `dateadd` IN ($dateadd)";
} else {$zapros2="";}
        
if ($name){
    $zapros3 = " and `name` IN ($name)";
} else {$zapros3="";}
        
if ($place){
    $zapros4 = " and `place` IN ($place)";
} else {$zapros4="";}

$foolzapros="WHERE ".$zapros.$zapros2.$zapros3;

//делаем запрос в базу данных
        
$sql = "SELECT * FROM `items` 
$foolzapros
ORDER BY RAND() LIMIT 20
";
if (!$result = $conn->query($sql)) {
    echo "Извините, возникла проблема в работе сайта.";
    exit;
}

while ($data = $result->fetch_assoc()) {

$text=strtolower($data['name']);  
$text = preg_replace('%[^a-zа-я\d]%i', ' ', $text);
$text=str_replace ('   ',' ',$text);
$text=str_replace ('  ',' ',$text);
$text=str_replace (' ','_',$text);

} echo "

<!-- Выводим все найденные значения, здесь и вылазит ошибка --> 
<p>
"$data['phone']"."$data['dateadd']"."$data['name']"."$data['place']"
</p>

"
?>
</body>
</html>

  • Вопрос задан
  • 62 просмотра
Решения вопроса 2
@Cat-in-code
echo "

<!-- Выводим все найденные значения, здесь и вылазит ошибка --> 
<p>
".$data['phone'].".".$data['dateadd'].".".$data['name'].".".$data['place']."
</p>
"
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Пропущены операторы конкатенации в строке
"$data['phone']"."$data['dateadd']"."$data['name']"."$data['place']"

Запятые тоже сгодятся.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы