$ result mysql_query()遇到困难

时间:2014-10-29 20:24:43

标签: php html mysql

我正在尝试从我的数据库中提取信息,使用选项列表并选择相应选择的行。

table: sales

columns: year, q1, q2, q3, q4

values: 2011, 127.24, 106.54, 88.04, 120.89

尝试从我的数据库返回$ result查询时。它返回两个警告:

  

mysql_query()期望参数1为字符串

     

mysql_error()期望参数1为资源

这是我的代码:

<?php

$mysqli = mysqli_connect("localhost","admin","admin","testDB");

$year= $_POST['year'];

$taryear= filter_input(INPUT_POST, 'year');
$yearsql= "SELECT year FROM sales WHERE year = '".$taryear."'";
$result= mysql_query($mysqli, $yearsql) or die(mysql_error($mysqli));


?>

<html>
<body>
    <form action = "salespie.php" method = "POST">
        <select name = "year">
            <option value = "2011">2011</option>
            <option value = "2012">2012</option>
            <option value = "2013">2013</option>
        </select>
        <input type = "submit" value = "Submit">
    </form>
</body>
</html>

我试图回应$year本身,它会返回2011年。

我也回复了$yearsql,结果是:SELECT year FROM sales WHERE year = '2011'

我不太明白为了得到这两个警告我做错了什么。

任何指导/帮助将不胜感激!

谢谢,

2 个答案:

答案 0 :(得分:4)

正如Fred在评论中提到的,您正在混合使用mysql_*mysqli_*个功能。
They are not the same thing.

鉴于您已通过连接链接,您可能希望改为使用mysqli_query

答案 1 :(得分:0)

mysqli_connect使用新的面向对象的mysql类并返回一个新对象。

如果您执行

,查询应该有效
$result = $mysqli->query($yearsql);
if(!$mysqli->errno) //Check if an error occured * fixed small typo with an extra o {
   echo 'Error: '.$mysqli->error;
}

问题是你正在使用mysqli对象和旧的(不赞成的)mysql方法。

有mysqli的mysqli程序函数可以工作。您使用mysql_querymysql_error替换mysqli_等效内容的人。