2013-03-02 98 views
-9

错误:警告:请求mysql_query()预计参数1是串,资源在C中给出:\瓦帕\ WWW \ cdij \ editquantity.php第8行警告:请求mysql_query()预计参数1是串

这里是代码:

<?php 
$con=mysql_connect("localhost","root","","test"); 
$quantity=$_POST['txt_quantity']; 
$name=$_POST['Fields']; 
$table=$_POST['editwhat']; 

$que="UPDATE `material` SET `material_quantity`='".$quantity."' WHERE `material_name`='".$name."'"; 
mysql_query($con,$que); 
mysql_close($con); 
?> 
+2

你需要检查http://php.net/manual/en/function.mysql-query.php,你会发现你的答案(这是你的$ con和$ que是错误的方式。当你遇到这样的错误时,你应该经常检查该函数的PHP页面,看看你是否正确使用了它。 – niaccurshi 2013-03-02 13:48:33

+2

当你阅读文档时,请注意你应该从'mysql_ *函数是完全的,因为它们正在被弃用,使用PDO或'mysqli_'代替**你的代码很容易受到SQL注入攻击** – 2013-03-02 13:50:35

回答

1

您需要交换$ CON和$阙paramters在你的mysql_query功能。

http://php.net/manual/en/function.mysql-query.php

+0

我做过了,但是现在的值没有更新到该表中,material_quantity列的数据类型是整数 – 2013-03-02 13:58:03

+0

这是一个不同的问题,也许你需要看一看变量的质量进入您的代码。对于调试,您应始终首先使用“echo $ que”来显示查询字符串的外观,并将其与您的数据库进行比较。 – niaccurshi 2013-03-02 14:00:26

+0

UPDATE'material' SET'material_quantity' ='102'WHERE'material_name' = 'Hoses1'..得到这个作为输出。与我上面发布的代码相同。但不会更新到数据库中。 – 2013-03-02 14:10:53

0

这可能意味着你没有连接到你的数据库。检查凭证,并添加一个测试

if($con) 
    { 
    $mysql_query($que); 
    } 
    else 
    { 
    echo "connection error"; 
    } 
+0

错误信息是相当有用的,而不是这样做的。如果你看到一些说“参数1预计会是...”,那么这意味着你在位置1发送了错误类型的参数。 – niaccurshi 2013-03-02 13:51:20

+0

实际上它并不完全不相关 - 因为错误的参数连接n失败并且$ con不包含有效的连接。这就是我的检查凭证。 $ con的有效性测试总是一个好主意 – 2013-03-02 19:24:10

1

您正在使用mysqli_query语法,但使用的mysql_query! 这个错误的最好的部分是,你需要升级到mysqli_query,你已经到了一半,这真是太棒了。

mysql_query被删除。检查这个link,你在那里。干杯

相关问题