使用多个where子句时插入sql时出错

时间:2015-11-20 08:06:41

标签: php mysql

我收到错误未知列' meta_key'在' where子句'

$sql_select = "SELECT degree_name,specialisation
    FROM eduaction_record WHERE (meta_key = 'user_id' AND meta_value = '".$_SESSION['user_id']."') 
    AND (meta_key = 'degree_name' AND meta_value = '$contentToSaveDegreeName')
    AND (meta_key = 'specialisation' AND meta_value = '$contentToSaveAreaOfSpecialisationDegree')
    ";

这是我的表结构

SELECT `id`, `user_id`, `degree_name`, `specialisation`, `institute`, `date_of_passing` FROM `eduaction_record` WHERE 1

帮我找到正确的语法。

2 个答案:

答案 0 :(得分:2)

您的查询(在某处复制粘贴表单)完全错误。

您有更多错误。

meta_key不在eduaction_record表中。检查表并更新列名。

  • 下一个错误将是

    Unknown column 'meta_value' in 'where clause'

    您在提供的结构中甚至没有meta_value

这应该是您的查询。

$sql_select = "SELECT degree_name,specialisation
FROM eduaction_record WHERE (user_id = '{$_SESSION['user_id']}') 
AND (degree_name = '$contentToSaveDegreeName')
AND (specialisation = '$contentToSaveAreaOfSpecialisationDegree')";

修改

function degree_exists($contentToSaveDegreeName, $contentToSaveAreaOfSpecialisationDegree)‌ {
    global $msg, $dbh1;
    $user_id = $_SESSION['user_id'];
    $sql_select = "SELECT degree_name,specialisation FROM eduaction_record "
            . "WHERE user_id = '$user_id' "
            . "AND degree_name = '$contentToSaveDegreeName' "
            . "AND specialisation = '$contentToSaveAreaOfSpecialisationDegree'";
    $stmt = $dbh1->query($sql_select);
}

答案 1 :(得分:1)

您要搜索的特定表格中不存在列meta_key