如何解决mysql_query:提供的参数不是有效的MySQL-Link资源
|| 我一直在尝试从表单中插入示例数据,但是执行$ result总是会出现语法错误。 来自index.PHP的相关部分:<form method=\"post\" action=\"form.PHP\">
<ul >
<li>
<label for=\"accession_number\">Accession Number</label>
<input id=\"accession_number\" name=\"accession_number\" type=\"text\" maxlength=\"6\" value=\"\"/>
</li>
</ul>
</form>
以及来自form.PHP的零件:
<?PHP
$connection = MysqL_connect($server,$username,$password) or die(\'Could not connect\'.MysqL_error());
MysqL_select_db($database,$connection) or die(\"Cannot select db.\");
$accession_number = $_POST[\'accession_number\'];
$query = \"INSERT INTO top (accession_number) \".
\"VALUES ($accession_number)\";
var_dump($query);
MysqL_error();
$result = MysqL_query($$query,connection) or die(\'Error querying database.\');
MysqL_close($connection);
?>
我不知道我在做什么错。
解决方法
mysql_query()
的参数顺序错误。
这个
$result = mysql_query($connection,$query)
应该
$result = mysql_query($query,$connection)
http://php.net/manual/zh/function.mysql-query.php
资源mysql_query(字符串$ query [,资源$ link_identifier])
更新资料
当我说使用“ 5”时,我的意思是仅当出现明显错误时。试试这个
if (isset($_POST[\'accession_number\'])) {
$accession_number = $_POST[\'accession_number\'];
$query = sprintf(\'INSERT INTO `top` (accession_number) VALUES (%d)\',$accession_number);
$result = mysql_query($query);
if (false === $result) {
throw new Exception(\'Error in query you have,hmmm: \' . mysql_error());
}
// and so on
我强烈建议您完全放弃MySQL库,转而使用PDO。编写以上代码使我感到肮脏。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。