Я не знаю, что здесь пошло не так.
Шаг 1: Введите имя и фамилию
Шаг 2: Выберите даты
Шаг 3: нажмите на кнопку отправки
Результаты: показывает результаты
Ошибка:
Примечание: неопределенная переменная: sql in
C: \ xampp \ htdocs \ xampp \ prive_tc \ testingphp.php в строке 20Неустранимая ошибка: имя функции должно быть строкой в
C: \ xampp \ htdocs \ xampp \ prive_tc \ testingphp.php в строке 20
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("prive_ts", $con);
$sql ("SELECT * from info");
$from = $_get['from']; // or $from = $_get['from'];
$to = $_get['to']; // or $to = $_get['to'];
$sql .= mysql_query(" WHERE date_of_service between '".$from."' AND '".$to."' ");if (!mysql_query($con,$sql))
{
die('Error: ' . mysql_error($con));
}
?>
<form name="search_form" method="POST" action="testingphp.php">
Search: <input type="text" name="search_box" value="" />
Dates From : <input type="text" name="from"/>
To : <input type="text" name="to"/>
<input type="submit" name="search" value="Look up Patient ...">
</form>
<table width="70%" cellpadding="5" cellspace="5">
<tr>
<td><strong>Care Provider</strong></td>
<td><strong>Patient Name</strong></td>
<td><strong>Date of Time</strong></td>
<td><strong>Time In</strong></td>
<td><strong>Time Out</strong></td>
<td><strong>Remarks</strong></td>
</tr>
<?php while ($row = mysql_fetch_array($query)) { ?>
<tr>
<td><?php echo $row['care_provider']; ?></td>
<td><?php echo $row['patient_name']; ?></td>
<td><?php echo $row['date_of_service']; ?></td>
<td><?php echo $row['time_in']; ?></td>
<td><?php echo $row['time_out']; ?></td>
<td><?php echo $row['remarks']; ?></td>
</tr>
<?php } ?>
</table></body>
</html>
Давайте тогда просто составим список.
Запрос SQL должен быть назначен:
$sql = "SELECT * FROM .. ";
Принимая во внимание, что объединение:
$sql .= mysql_query("...");
нужно разделить:
$sql .= "WHERE ...";
и вызвал впоследствии:
$result = mysql_query($sql);
И $_GET
переменная должна быть написана в верхнем регистре.
И это, вероятно, неподходящий совет для вашего уровня опыта, но подумайте над чтением по PDO и связанным параметрам.
+ Изменить
$sql ("SELECT * from info");
в
$sql = "SELECT * from info";
И, ради бога, не вставляйте пользовательский ввод в SQL-запрос без проверки. использование mysqli_real_escape_string
первый.
+ Изменить $sql ("SELECT * from info");
в $sql = "SELECT * from info";
Есть также некоторые ошибки в вашем коде. Это не сработает. Попробуйте что-то вроде этого:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("prive_ts", $con);
$sql = "SELECT * from info" ;
$from = $_get['from']; // or $from = $_get['from'];
$to = $_get['to']; // or $to = $_get['to'];
$sql .= " WHERE date_of_service between '".$from."' AND '".$to."'";
$result = mysql_query($sql,$con);
if (!$result)
{
die('Error: ' . mysql_error($con));
}
?>
Вы пропустили =
в строке 20
правильный синтаксис: $sql = "SELECT * from info";
и заменить строку 24:
$sql .= mysql_query(" WHERE date_of_service between '".$from."' AND '".$to."' ");
с :
$sql .= " WHERE date_of_service between '".$from."' AND '".$to."' ";
рекомендации:
mysql_real_escape_string($keywords);
или же strip_tags($keywords)
предотвратить инъекцию sql MYSQLI
вместо mysql устарела в PHP 5.5$sql ("SELECT * from info");
PHP видит эту переменную как функцию, потому что вы не использовали знак ‘=’ и помещали что-то между кавычками.
Например:
$variable = "Test";
$variable(); // Outputs an error since the value is a string
Вы хотите присвоить строку переменной. Итак, что вы хотите сделать, это:
$sql = "SELECT * from info";