-1

我一直在试图弄清楚为什么这个功能在 chrome 上工作,而不是在 Firefox 上。

我有一个自动增量字段,它是我从中获取 id 的主键。这是我的代码。

if (isset($_GET['id'])) {
    $id = $_GET['id'];
} else {
    $id = mysql_insert_id();
    echo $id;
}

我已经尝试将我的连接按如下方式放入函数中,但它仍然不起作用。任何指针将不胜感激。另外,我知道 mysqli 函数,我使用这些函数是因为用户的设置很旧。

$id = mysql_insert_id($conn);

这是我正在执行插入的代码。

sprintf("INSERT INTO `trade_show_orders` (`SetupDate`,`SetupEndDate`,`ShowName`,`Location`,`Literature`,`StartDate`,`EndDate`,`Attendees`,`Projected`,`File`,`Giveaways`,`AddressBox`,`LocationType`,`Title`,`FirstName`,`LastName`,`Email`,`AddressOne`,`AddressTwo`,`Zip`,`Special`,`OrderDate`,`ShippingLocation`,`ShippingAddressOne`,`ShippingAddressTwo`,`ShippingZip`,`ShippingSpecial`) VALUES ('$setupDate','$endSetup','%s','%s','$values','$eventStart','$eventEnd','%d','%d','".basename($_FILES['fileUpload']['name'])."', '%s','off','%s','%s','%s','%s','%s','%s','%s','%d','%s',NOW(),'%s','%s','%s','%d','%s')", mysql_real_escape_string($_POST['showName']), mysql_real_escape_string($_POST['location']), $_POST['numberAttendees'], $_POST['visitors'], mysql_real_escape_string($_POST['giveaways']), mysql_real_escape_string($_POST['locationType']), mysql_real_escape_string($_POST['personalTitle']), mysql_real_escape_string($_POST['personalFirstName']), mysql_real_escape_string($_POST['personalLastName']), mysql_real_escape_string($_POST['personalEmail']), mysql_real_escape_string($_POST['personalAddressOne']), mysql_real_escape_string($_POST['personalAddressTwo']), $_POST['personalZip'], mysql_real_escape_string($_POST['personalSpecial']), mysql_real_escape_string($_POST['shippingLocation']), mysql_real_escape_string($_POST['shippingAddressOne']), mysql_real_escape_string($_POST['shippingAddressTwo']), $_POST['shippingZip'], mysql_real_escape_string($_POST['shippingSpecial']));
4

2 回答 2

2

mysql_insert_id()如果您INSERT使用当前连接进行了查询,则只会返回一个 ID。这意味着它不会从“三次点击”之前的页面请求中返回 ID。它不会返回同时执行的其他脚本完成的 ID,因为这是使用与 mysql 的不同连接完成的。

因此,请显示实际执行插入的其余代码。PHP 根本不应该关心远程运行的是什么浏览器。就 PHP 而言,它只是一个带有一些数据的 HTTP 请求。如果存在特定于浏览器的问题,它会出现在一些客户端代码中,例如一些糟糕的 javascript 执行 AJAX 请求并且没有正确填写字段。

于 2013-04-05T15:05:24.367 回答
0

原来它与我的插入无关。

显然,当您在 Firefox、IE 中的表单上使用带有提交的图像时。它将图像提交从“submit”重命名为“submit_x”或“submit_y”

Chrome 和 Safari 会同时查找 submit 和 submit_x,submit_y 以及图像。

Firefox 和 IE 7、8、9 只查找 submit_x 和 submit_y,这解释了它只在 chrome 上工作的原因。

于 2013-04-05T15:36:09.277 回答