PHP SQL查询限制1

PHP SQL查询限制1,php,Php,我需要有关SQL查询的帮助 <?php include 'connect.php'; $pdo = Database::connect(); $sql = "SELECT Visit_Date FROM tbl_patient_med_record WHERE PatientID=".$_GET['PatientID'] order by Visit_Date limit 1; foreach ($pdo->query($sql) as $row){ echo

我需要有关SQL查询的帮助

<?php
include 'connect.php';
$pdo = Database::connect();

$sql = "SELECT Visit_Date FROM tbl_patient_med_record WHERE PatientID=".$_GET['PatientID'] order by Visit_Date limit 1;

foreach ($pdo->query($sql) as $row){    

    echo  date('F j,Y',strtotime($row['Visit_Date']));
}                       
Database::disconnect();
?>

目标是输出访问日期的最新值。但我的代码似乎不起作用。有什么可能的补救办法吗?谢谢

错误是:

分析错误:语法错误,中出现意外的“顺序”(T_字符串) 第337行的C:\xampp\htdocs\capstone\u ncd\patient\u Profile.php


看来你把报价搞错了。但这也容易受到SQL注入的影响


$sql的格式不正确

sql查询如下所示:
SELECT*FROM membre,其中pseudo'LIMIT 1

您必须使用Php生成如下字符串:您可以这样做:

'SELECT*FROM membre WHERE pseudo='。“$pseudo”限值1'

你的想法是这样的:

SELECT*FROM membre,其中pseudo=

然后是坏东西。

您的代码容易受到攻击。您应该使用带有绑定参数的预处理语句,如中所述。您需要正确连接SQL字符串。您的查询没有正确引用。在源文件上运行
php-l file.php
,它会告诉您语法错误在哪里。是否有错误?错误是:解析错误:语法错误,在第337行的C:\xampp\htdocs\capstone\u ncd\patient\u Profile.php中出现意外的“顺序”(T_字符串)。是的,我知道我的SQL字符串没有连接。已尝试在order by子句之前添加点。还是没有解决办法谢谢。它工作得很好。我忘了在order by子句前面加上点符号。请不要在明显离题的问题上发布答案!请参阅:可以关闭和删除主题外的问题,这可能会使您的贡献无效。扭转教学/传播草率和危险的编码实践的趋势。如果你在没有准备好陈述的情况下发布了答案。此外,反对教授/传播草率和危险的编码实践。如果你在没有准备好陈述的情况下发布了答案。另外。
$sql = "SELECT Visit_Date FROM tbl_patient_med_record WHERE PatientID=".$_GET['PatientID']." ORDER BY Visit_Date LIMIT 1";