Всего у меня в моей базе данных 3 colons о книгах Его: номер (в моем коде его Nomer) Имя (в моем коде его название) и Thenathics (в моем коде его Bukva) и настольная книга (в моем коде его книге), такerror about php and mysql
Я имею в index1.php этого кода
<html><head>
<title>
Результаты поиска</title>
<meta charset="UTF8">
</head>
<body>
<html><head>
<title>
Поиск и Результаты поиска</title>
<meta charset="UTF8">
</head>
<body>
<form method="POST" action=script1.php>
<input type="text" name='a'>
<input type="text" name='b'>
<button>Найти</button></form>
</body>
</html>
И в script2.php этого коде
<?php
$link = mysqli_connect("localhost", "root", "", "knigi");
$one=($_POST['a']);
$two=($_POST['b']);
$s='SELECT `Nomer`, `nazvanie`, `Bukva`
FROM `knigi`
WHERE
nazvanie = $one
or Bukva = $two';
$result = mysqli_query($link,$s) or die(mysqli_error($link));
$n=$row['Nomer'];
while ($row = mysqli_fetch_array($result)) {
echo"<div><ul><li>Книга номер ";
echo $row['Nomer'];echo"<p>";
echo $row['nazvanie'];echo" : ";
echo $row['Bukva'];echo"</p></li></ul></div><br>";
}
?>
скрипт дает мне
Unknown column '$one' in 'where clause'
А если поставить кавычки около одного и двух, он дает
Parse error: syntax error, unexpected T_VARIABLE in C: \ OpenServer \ domains \ localhost \ script1.php on line 8
Я предполагаю, что вы испортили цитаты (одиночные, двойные и обратные). Вся ваша переменная '$ s' должна быть в двойных кавычках' '', так что переменные передаются как переменные, а не строки. Имена столбцов должны быть в обратных циклах '' '', а строки в SQL должны быть заключены в одно кавычки ' ''. Так что в основном ваш запрос должен быть чем-то вроде '$ s =" SELECT \ 'Nomer \', \ nazvanie \ ', \' Bukva \ ' FROM \' knigi \ ' WHERE nazvanie = '$ one' или Bukva = '$ two' ";' – Qirel