Php 错误:“字段列表”中的未知列“x”

Php 错误:“字段列表”中的未知列“x”,php,mysql,database,Php,Mysql,Database,我在表格中输入数据时遇到了一些问题 我正在从表单中检索一些值并将其输入到表中,但每次都会出现此错误: 错误:“字段列表”中的未知列“planner\u id” 数据库 您使用了错误的方法连接到数据库并获取其数据。 因为您的数据库可能会被黑客使用 正确的方法是: 使用PDO 对于错误捕获: try { $conn = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password); $conn->

我在表格中输入数据时遇到了一些问题

我正在从表单中检索一些值并将其输入到表中,但每次都会出现此错误:

错误:“字段列表”中的未知列“planner\u id”

数据库 您使用了错误的方法连接到数据库并获取其数据。 因为您的数据库可能会被黑客使用 正确的方法是:

使用PDO 对于错误捕获:

try {
    $conn = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    echo 'ERROR: ' . $e->getMessage();
}
和数据获取:

$id = 5;
try {
    $conn = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);    

    $stmt = $conn->prepare('SELECT * FROM myTable WHERE id = :id');
    $stmt->execute(array('id' => $id));

    while($row = $stmt->fetch()) {
        print_r($row);
    }
} catch(PDOException $e) {
    echo 'ERROR: ' . $e->getMessage();
}
使用Mysqli 你的问题呢 我认为问题在于您的查询和绑定参数。所以请尝试使用我向您展示的正确方式,然后向我们展示结果。 它很直

获取此类型错误时:{error:field list'中的未知列“planner\u id”}

故障排除的第一步将只是描述表[subject\u directorio]

描述主题目录并检查计划器id是否存在。根据错误

subject\u directorio不包含任何名为planner\u id的列


希望能有帮助

您的表没有列planner\u id是不言自明的。即使您看到它有,列名中planner\u id之前或之后也可能有试用空格。仔细检查。

什么是表结构?很明显,在mysql表中没有名为planner_id的字段。例如,使用phpmyadmin检查字段的确切名称Swiiii sql注入:
try {
    $conn = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    echo 'ERROR: ' . $e->getMessage();
}
$id = 5;
try {
    $conn = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);    

    $stmt = $conn->prepare('SELECT * FROM myTable WHERE id = :id');
    $stmt->execute(array('id' => $id));

    while($row = $stmt->fetch()) {
        print_r($row);
    }
} catch(PDOException $e) {
    echo 'ERROR: ' . $e->getMessage();
}
$stmt = $dbConnection->prepare('SELECT * FROM employees WHERE name = ?');
$stmt->bind_param('s', $name);

$stmt->execute();

$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    // do something with $row
}