php - 根据输入更新特定数据库?
问题描述
我不确定我是否在标题中正确询问,但这里是信息:
我有一个网站,以客户输入他们的 ID 号开头。然后,这会填充一个页面,他们可以在其中选择要发送给他们的产品。该页面有他们的姓名、邮寄信息等,以及一个提交按钮,该按钮将他们选择的选项发送到“主”数据库。
有没有办法根据他们的 ID 号开头来更新特定的数据库?例如,如果他们的 ID 号以 AB 开头,我希望更新“主”数据库。如果它以 XY 开头,我希望更新“masterXY”数据库。
每次我发布问题时我都会这么说,只是为了让大家知道我对 PHP、MySQL 等没有任何经验。我正在接替一个从不真正关心他的代码只要它工作的代码是什么样子的同事——所以如果这段代码看起来很糟糕,我深表歉意,因为我还不知道一个好的代码是什么样子的。
我认为这是您需要查看的代码,以便查看当前正在更新的数据库(但同样,我不太确定)。
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "update")) {
$updateSQL = sprintf("UPDATE master SET name=%s, company=%s, address=%s, address2=%s, city=%s, st=%s, zip=%s, phone=%s, email=%s, request=%s, product1=%s, product2=%s, remoteip=%s, lastchange=%s, source=%s, via=%s WHERE id=%s",
GetSQLValueString(($_POST['name']), "text"),
GetSQLValueString(($_POST['company']), "text"),
GetSQLValueString(($_POST['address']), "text"),
GetSQLValueString(($_POST['address2']), "text"),
GetSQLValueString(($_POST['city']), "text"),
GetSQLValueString(strtoupper($_POST['st']), "text"),
GetSQLValueString(strtoupper($_POST['zip']), "text"),
GetSQLValueString(strtoupper($_POST['phone']), "text"),
GetSQLValueString(strtoupper($_POST['email']), "text"),
GetSQLValueString($_POST['request'], "text"),
GetSQLValueString(isset($_POST['product1']) ? "true" : "", "defined","1","0", "int"),
GetSQLValueString(isset($_POST['product2']) ? "true" : "", "defined","1","0", "int"),
GetSQLValueString($REMOTE_ADDR, "text"),
GetSQLValueString($date, "date"),
GetSQLValueString($_SERVER['HTTP_USER_AGENT'], "text"),
GetSQLValueString($via, "text"),
GetSQLValueString($_POST['id'], "int"));
mysql_select_db($database_numark, $mySQL);
$Result1 = mysql_query($updateSQL, $mySQL) or die(mysql_error());
$LOG2 = mysql_query("INSERT INTO log (date,site,ip,id_number,info) values ('$date','$SITE','$REMOTE_ADDR','$idnumber','Update and Request Submitted')");
$insertGoTo = "/confirm.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
if(isset($_POST['idnumber'])){
$idnumber = $_POST['idnumber'];
$LOG1 = mysql_query("INSERT INTO log (date,site,ip,id_number,info) values ('$date','$SITE','$REMOTE_ADDR','$idnumber', 'ID Entered')");
mysql_select_db($database_mySQL , $mySQL );
$query_master = "SELECT * FROM master WHERE mixedme = '$idnumber'";
$master = mysql_query($query_master, $mySQL ) or die(mysql_error());
$row_master = mysql_fetch_assoc($master);
$totalRows_master = mysql_num_rows($master);
}
解决方案
推荐阅读
- node.js - 如何在日志文件中记录每个请求和错误
- android - ImageView RecyclerView 延迟加载
- javascript - 点击详细信息上的Vue列表项
- javascript - MathQuill:如果乳胶错误,如何捕获粘贴的乳胶?
- tensorflow - 为什么不同数据类型的 GPU 性能变化如此之大
- javascript - 从 JS 树中创建 Python 函数
- c++ - using 声明是否应该能够引用友元函数
- ms-access - 如何通过宏用访问表中的数据填充列
- redux - 用 jest 和酵素测试从 dispatch action 返回的 Promise.all
- java - 即使在相等的按钮之后如何继续计算