我已经看过关于这个错误的50个帖子,但没有一个对我有意义,他们没有我所拥有的相同错误(据我所见)。我花了一些时间在这上面,甚至在其他页面上做了同样的事情,只是遇到了这个问题并开始让我真的生气。
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE tbl_mem_id = 0' at line 1
代码:
<?php
if (isset($_GET['tbl_mem_id']) && is_numeric($_GET['tbl_mem_id']))
{
// get id value
$tbl_mem_id = $_GET['tbl_mem_id'];
// check for the thing
//ECHO table here
echo "<table border='1'>
<tr>
<th>ID</th>
<th>tbl_mem_id</th>
<th>username</th>
<th>email</th>
<th>Address line 1</th>
<th>Address line 2</th>
<th>postcode</th>
<th>phone</th>
</tr>";
$sql = "SELECT * WHERE tbl_mem_id = $tbl_mem_id";
$result = mysqli_query($con, $sql) or die("Error: ".mysqli_error($con));
while($row = mysqli_fetch_array($result) )
{ ?>
<tr>
<td> <?php echo $row['tbl_mem_id']; ?></td>
<td> <?php echo $row['username']; ?> </td>
<td> <?php echo $row['email']; ?> </td>
<td> <?php echo $row['adl1']; ?> </td>
<td> <?php echo $row['adl2']; ?> </td>
<td> <?php echo $row['postcode']; ?></td>
<td> <?php echo $row['phone']; ?></td>
</tr> <?php
} ?>
</table> <?php
}
else
// if id isn't set, or isn't valid, redirect back to view page
{
echo "doesn't work";
header('location: dashboard.php');
}
mysqli_close($con);
?>
$ con =我与db的连接,无意义发布它。
这个想法是到了这里我点击了一个id(通过上一页获取GET)然后它回显了与该信息相关的帐户数据,此时虽然它没有回显信息而只是表格标题。
感谢
答案 0 :(得分:7)
您错过了FROM
条款:
$sql = "SELECT * FROM tblname WHERE tbl_mem_id = $tbl_mem_id";
答案 1 :(得分:1)
1)你错过了&#39; FROM&#39;构造
$sql = "SELECT * FROM `table_name` WHERE `tbl_mem_id` = $tbl_mem_id";
2)执行该查询的方式非常危险,因为您使用的是$ _GET参数和精确查询字符串,您应该使用Mysql Prepared Statements(它们可以防止代码注入并对您的数据进行一些验证)