[英]mysql_insert_id()
我想知道是否有人可以帮助我。
我正在尝试在PHP中实现mysql_insert_id()命令,但似乎无法正常工作。
我正在使用一个非常简单的脚本(如下)来测试它是否有效,但是我只能在“ testfinds”表中而不是“ testimages”中创建一条记录。
<?php
$conn = mysql_connect("hostname","username","password");
if (!$conn) {
die('PHP Mysql database connection could not connect : ' . mysql_error());
}
$findname=$_POST[findname];
$phototitle=$_POST[phototitle];
$db_selected = mysql_select_db("database", $conn);
$sql = "INSERT INTO testfinds (findname)VALUES ('$findname')";
$result = mysql_query($sql, $conn);
$findid = mysql_insert_id($conn);
$sql = "INSERT INTO testimages (phototitle) VALUES ('$phototitle','$findid')";
$result = mysql_query($sql, $conn);
//echo "Inserted record id is : " . mysql_insert_id();
mysql_close($conn);
?>
我遍历了发现的示例,并对照我的代码进行了检查,那里似乎没有任何区别,并且我再次检查了表和字段名,以查看是否在此处出错了,但是我什么都找不到
这是我正在使用的表单,再次非常简单地测试了功能。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Map</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=en"></script>
<form enctype="multipart/form-data" action="savephp.php" name="save" id="savefindsandimages" method="post">
<label>Find Name:<input type="text" name="findname" id="findname" />
<br />
<br />
Photo Title:
<input type="text" name="phototitle" id="phototitle" />
<br />
<br />
</label>
<p>
<input type="submit" value="Add">
我只是想知道是否有人可以看一下这个,然后让我知道我要去哪里错了?
非常感谢
看来您的第二个INSERT查询有点不正确:
INSERT INTO testimages (phototitle) VALUES ('$phototitle','$findid')
您需要命名要设置的其他字段- (phototitle)
应该是(phototitle,otherfieldname)
。 解决此问题,然后查看脚本是否按预期工作。
另外,我不知道这是否是错字,但您有:
$findname=$_POST[findname];
$phototitle=$_POST[phototitle];
$_POST
变量应该读$_POST["findname"]
和$_POST["phototitle"]
。 最后,如注释中所述,您的脚本容易受到SQL注入攻击的攻击。 有关更多信息,请参见Bobby Tables 。
您缺少SQL中列的名称:
$sql = "INSERT INTO testimages (phototitle, COLUMN_NAME_HERE) VALUES ('$phototitle','$findid')";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.