Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用[';id';]GET参数的SQL查询_Php_Mysql_Web - Fatal编程技术网

Php 使用[';id';]GET参数的SQL查询

Php 使用[';id';]GET参数的SQL查询,php,mysql,web,Php,Mysql,Web,查看下面的屏幕截图,我试图使其在您单击“教员”、“学生”或“校友”时,页面(people.php)只返回指定为该页面的数据库结果(mysql)。但是,我一直在第54行收到此错误消息: 致命错误:未捕获的异常“PDOException”带有消息 'SQLSTATE[42000]:语法错误或访问冲突:1064您有 SQL语法错误;检查与您的产品相对应的手册 MySQL服务器版本,以便在“:member”附近使用正确的语法 这是因为我在第28-30行中手动设置了“id”吗?我一直在努力想办法解决这个问

查看下面的屏幕截图,我试图使其在您单击“教员”、“学生”或“校友”时,页面(people.php)只返回指定为该页面的数据库结果(mysql)。但是,我一直在第54行收到此错误消息:

致命错误:未捕获的异常“PDOException”带有消息 'SQLSTATE[42000]:语法错误或访问冲突:1064您有 SQL语法错误;检查与您的产品相对应的手册 MySQL服务器版本,以便在“:member”附近使用正确的语法

这是因为我在第28-30行中手动设置了“id”吗?我一直在努力想办法解决这个问题,任何帮助都将不胜感激

<?php
              echo'<h3 class="panel-title"><a href="people.php?id=faculty">Faculty</a></h3>';
              echo'<h3 class="panel-title"><a href="people.php?id=student">Students</a></h3>';
              echo'<h3 class="panel-title"><a href="people.php?id=alum">Staff</a></h3>';
?>
            </div>
          </div>
        </div>

        <!-- vvvvvvvvvvvvvv-FACE OF THE ORG-vvvvvvvvvvvvvv -->
    <div class="col-sm-10">
        <div class="row">

<?php
if(!isset($_GET['id'])){
$stmt = $pdo->query("SELECT first_name, last_name, department, website, filename, membership
                FROM Profile");
while ( $row = $stmt->fetch(PDO::FETCH_ASSOC) ){
    echo '<div class="col-sm-3">
            <img class="img-rounded" src="'.$row['filename'].'"/>
            <p class="caption">';
    echo '<a href="'.htmlentities($row['website']).'" target="_blank">'.$row['first_name'].' '.htmlentities($row['last_name']).'</a>';
    echo ', '.htmlentities($row['department']);
    echo '</p> </div>';
  }


您需要添加代码而不是图像,这样我们才能更好地帮助您。这里我看到的是您正在使用
$pdo->query
而不是
$pdo prepare
来准备语句。像这样修复它:

$stmt = $pdo->prepare("SELECT first_name, .......,:member");
$stmt->execute(array(":member"=>$_GET['member']));

请张贴您的代码,而不是它的图像。无论如何,我很好奇,所以我看了看。如果您是用一个表单发布数据,而我beleave中有一个post方法,那么您需要这样做:如果(isset($\u post['id'])添加了代码,谢谢!它是从get请求中获取数据我相信你发布的文本代码不是你需要的。另一个是您试图绑定
:成员
,但没有准备查询。不过,我很好奇,您使用哪个MySQL API连接,是
mysqli\uu
MySQL\u
还是PDO?即使是通过准备和不工作,这也是我能看到它失败的唯一原因。这些图像需要删除。与此相关的错误不需要它们,它们占用了太多的空间。嗨,Tareq,谢谢!我在上面添加了代码(这有帮助吗?)我还将$pdo->query更改为$pdo->prepare,但收到的错误消息与您需要更改的第二个相同:member,而不是第一个。它正在运行查询,而不是创建语句。