gpt4 book ai didi

php - 将表单数据插入一张表,然后将特定表单数据插入表2并更新枚举值?

转载 作者:行者123 更新时间:2023-11-30 00:19:07 28 4
gpt4 key购买 nike

我正在尝试将表单数据插入到我的表“supplier_registration”中,但这不起作用,我收到 mysql“错误”,我不确定为什么会发生这种情况。

我还想将相同的表单数据插入到第二个表“supplier_session”中,但这次仅插入表单数据“$cname”和“$creg”的特定位。

当用户登陆页面时,IP 地址会插入到“supplier_session”表中,因此当提交此表单时,我还希望 seller_session 表将枚举值“form1_complete”从 no 更新为 yes,其中该用户的 ip或表行中存在“user_IP”。我试图通过运行三个查询来解决这个问题,但它不起作用,请有人告诉我哪里出了问题。谢谢

数据库:

ID(AI) | company_name | company_reg_number | company_incorp_date | company_address | company_postcode | contact_name | contact_number | contact_email | company_vat_number | date_time | user_IP

代码:

<?php
session_start();

$db_hostname = 'localhost';
$db_database = 'hewden1';
$db_username = 'root';
$db_password = '';

$db_server = mysql_connect($db_hostname, $db_username, $db_password)
or die("Unable to connect to MySQL: " . mysql_error());

mysql_select_db($db_database)
or die("Unable to select database: " . mysql_error());

$cname = $_POST['cname'];
$creg = $_POST['creg'];
$address = $_POST['address'];
$post = $_POST['post'];
$contactn = $_POST['contactn'];
$contactt = $_POST['contactt'];
$contacte = $_POST['contacte'];
$vat = $_POST['vat'];
$incorp = $_POST['incorp'];

$ipaddress = $_SERVER["REMOTE_ADDR"];




$sql="INSERT INTO supplier_registration (company_name, company_reg_number, company_incorp_date, company_address, company_postcode, contact_name, contact_number, contact_email, company_vat_number, date_time, user_ip)
VALUES ('$cname', '$creg', '$incorp', $address', '$post', '$contactn', '$contactt', '$contacte', '$vat', NOW(), '$ipaddress')";

$result = mysql_query($sql);


$qry2 = "INSERT INTO supplier_session (company_reg_number, company_name) VALUES('$creg','$cname') WHERE user_IP = '$ipaddress'";

$result = @mysql_query($qry2);

$qry3="UPDATE supplier_session SET form1_completed = 'Yes' WHERE form1_completed = 'No' AND user_IP = '$ipaddress'";

$result = mysql_query($q);



if($result){

header("Location: index.php?registration=sucess");


}else {
echo "ERROR";
}
?>

html:

<form name="myForm" id="myform" action="company_info_process.php" onsubmit="return validateForm()" method="post">

<input type="text" id="field_cname" name="cname" class="field_cname">

<input type='text' name='creg' id="field_creg">

<input type='text' name='incorp' id="field_incorp">

<input type='text' name='vat' id="field_vat">

<input type='text' name='contactn' id="field_contactn">

<input type="text" name="contactt" id="field_contactt">

<input type="text" id="field_contacte" name="contacte">

<input type="text" id="field_address" name="address">

<input type="text" id="field_post" name="post"/>

最佳答案

首先,您在第三个查询中调用了错误的变量。

更改$result = mysql_query($q);$result = mysql_query($qry3);

此外,还有 INSERT() 语法,你不能有 WHERE() 条款。唯一一次你会找到INSERT有一个 WHERE子句是当您使用 INSERT INTO...SELECT 时声明。

除此之外, WHERE子句主要在执行 SELECT() 时使用或 UPDATE() .

快速旁注:我注意到你没有结束语 </form>标签。如果这是您的实际代码,请添加它。

在页面顶部使用错误报告:

error_reporting(E_ALL);
ini_set('display_errors', 1);

另外,使用:

else{
echo mysql_errno($db_server) . ": " . mysql_error($db_server) . "\n";
}

而不是:

else {
echo "ERROR";
}

访问 PHP.net 了解有关错误报告的更多信息。

<小时/>

脚注:

mysql_*函数弃用通知:

http://www.php.net/manual/en/intro.mysql.php

从 PHP 5.5.0 开始,此扩展已被弃用,并且不建议用于编写新代码,因为它将在将来被删除。相反,要么 mysqliPDO_MySQL应使用扩展名。另请参阅MySQL API Overview在选择 MySQL API 时获取更多帮助。

这些函数允许您访问 MySQL 数据库服务器。有关 MySQL 的更多信息,请访问 » http://www.mysql.com/ .

MySQL 文档可以在 » http://dev.mysql.com/doc/ 找到.

关于php - 将表单数据插入一张表,然后将特定表单数据插入表2并更新枚举值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23392884/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com