我正在使用代码:
function insertV($deptx, $coursex, $secx, $isbnx,$titlex, $authorx,$usedpx,$newpx)
{
$sql = "INSERT INTO `$deptx` (`course`, `sec`, `isbn`, `title`, `author`, `usedp`, `newp`)
VALUES ('$coursex','$secx','$isbnx','$titlex','$authorx','$usedpx','$newpx')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
}
$dept = "ACCOUNTG";
$course = "340";
$sec = "101";
$isbn = "9780324651140";
$title = "FINANCIAL ACCOUNTING";
$author = "STICKNEY";
$usedp = "$129.75";
$newp = "$199.75";
insertV($dept,$course,$sec,$isbn,$title,$author,$usedp,$newp);
但我一直收到错误:
警告:mysql_query():提供 参数不是有效的MySQL-Link 资源 /home/public_html/mysite.com/myscript.php 第14行错误:
我猜这与我尝试使用var?
访问表有关任何帮助都会受到赞赏,如果你不知道的话,我还是PHP新手:P
编辑:哦,是的,第14行是if (!mysql_query($sql,$con))
答案 0 :(得分:6)
该错误表示您向mysql_query
($con
)提供的连接不是有效的MySQL资源。 $con
永远不会在您的函数中定义。您希望在查询之前打开连接,如下所示:
$con = mysql_connect("[mysql server hostname]", "[mysql username]", "[mysql password]");
如果您已经在函数外部创建了与MySQL服务器的连接,则可以通过在函数顶部添加global $con;
来导入全局$ con变量(请参阅php中的variable scope文档,如果您想了解更多信息)。
或者,连接资源是所有mysql函数中的可选参数,因此您可以使用mysql_query(...)
(不指定连接),PHP将使用mysql_connect
打开的最后一个连接。
答案 1 :(得分:1)
您没有在功能中定义$con
。这是PHP的范围规则的一部分。函数外定义的变量在函数中是不可见的,除非你声明它们global
,你需要这样的东西:
function insertV(...) {
global $con;
$query = "...";
etc...
}
所以,错误是由于函数中的$ con为空,这是“不是一个有效的MySQL链接资源”