php - select语句在foreach中填充数据

标签 php mysql pdo

我正在尝试创建一个 php 文件,当单击“编辑”链接时,它将获取该作业 ID 并在我的应用程序表中列出 jobRef 的行数。

这只是列出我网站上提供的不同职位的所有申请。

<?php
require 'mysqlcon.php';
if(isset($_GET['id']))
{

$stmt = $pdo->query('SELECT FROM applications WHERE applicationID = :id');
$results = $stmt->fetchAll();

echo "<table><tr><td>Job Reference</td><td>Job Title</td><td>Job Location</td><td>Job Description</td><td>Salary</td><td>Availability</td> <td>Category</td><td>Apply</td>";
foreach ($results as $row) {
    echo "<tr><td>".$row['applicationID']."</td>". "<td>".$row['jobRef']."</td>", "<td>".$row['fName']."</td>", "<td>".$row['lName']."</td>";
}
}

?>

我的错误是我无法让我的代码工作;我尝试过使用“PDO::FETCH_ASSOC”但仍然没有帮助。

关于我哪里出错了有什么想法吗?

最佳答案

您需要使用prepareexecute ,用于绑定(bind)/参数化查询。您还需要将值传递给查询。试试这个:

$stmt = $pdo->prepare('SELECT * FROM applications WHERE applicationID = ?');
$stmt->execute(array($_GET['id']));
$results = $stmt->fetchAll();

您的select查询还需要您选择的值。我输入了*这是每一列。如果您只想列出某些列,并用逗号分隔。

echo 中的连接和逗号分隔很奇怪,但我认为应该有用..

最后一点,你的table不关闭;您应该添加 </table> foreach之后.

关于错误使用的最后附加说明,http://php.net/manual/en/pdo.errorinfo.php .

关于php - select语句在foreach中填充数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34830676/

相关文章:

php - 如何显示自定义错误,而不是显示简单的html dom.php错误

javascript - 在 php 上抛出 ctype_digit 错误后,有没有办法阻止表单提交

sql - 如何使用 MySQL 索引列?

php - fatal error : Uncaught Error: Call to a member function query()/prepare() on null. PDO 功能不起作用。它总是说调用成员函数

php - 当变量为空时使用 IN_ARRAY 获取错误

php - 无法正确显示 FOREACH 循环的结果

javascript - 如何使用 javascript 和 bootstrap 表对多个表列进行搜索?

php - 如何将 Joomla mySQL 数据库移动到 Mariadb

php - XMLReader 错误

php - 将列名称导出到 CSV