【发布时间】:2012-07-28 22:18:14
【问题描述】:
在“插入”mysql 命令中读取 $schoolname 时遇到问题。
我只是在为跨越几所学校的粉丝俱乐部创建一个小东西。所以我为每所学校创建了一个不同的数据库表。每个学校都有一个唯一的 id,表名与之对应。代码如下。请帮忙。好吧,问题区域是插入部分。
"插入 $schoolname ('cat','...) 由于某种原因 $schoolname 没有被 $_POST if 语句捕获
如果我指定硬编码的表名,mysql 命令“insert into ....”会传递值,但如果我指定变量 ($schoolname) 代替表名,它不会传递值。我需要指定变量,因为有很多学校都有自己的表格。
<?php
require_once('include.php');
include('imageupload.php');
$schoolid='';
if(isset($_GET['schoolid']) && isset($_GET['schoolid']) != '')
{
$schoolid .= 'and id ='.$_GET['schoolid'];
}
$sqlschoolid = "select * from schools where status = 'Active' ".$schoolid;
$resschoolid = $obj->sql_query($sqlschoolid);
$school = $resschoolid[0];
$schoolname = $school['parameter'];
$schoolid2 = $school['id'];
if($_POST)
{
(isset($_POST['pr']) && $_POST['pr'] != "") ? $price=mysql_real_escape_string($_POST['pr']) : $pr="" ;
$sqlclass = "insert into $schoolname(`category`,`type`,`price`,`title`,`description`,`weburl`,`image`,`email`,`phone`,`address`,`city`,`state`,`zip`,`postdate`,`sponser`,`status`)
values('".$_POST['subcategory']."','".$_POST['type']."','".$pr."','".mysql_real_escape_string($_POST['title'])."','".mysql_real_escape_string($_POST['description'])."','".mysql_real_escape_string($_POST['weburl'])."','".$imagename."','".mysql_real_escape_string($_POST['email'])."','".mysql_real_escape_string($_POST['phone'])."','".mysql_real_escape_string($_POST['address'])."','".mysql_real_escape_string($_POST['city'])."','".mysql_real_escape_string($_POST['state'])."','".mysql_real_escape_string($_POST['zip'])."','".date('Y-m-d H:i:s')."','0','Active')";
}
?>
【问题讨论】:
-
“我遇到了问题”——更具体地说?
-
每个学校不同的数据库,还是每个学校的不同表?
-
顺便说明一下,即使您的 HTML 自动填充了 $_POST['subcategory'] 和 $_POST['type'],您也应该转义。人们可以轻松更改该值并进行 SQL 注入。
-
尝试不仅写问题,而且先自己阅读。你的问题解释不了
-
对不起,我是一个初学者,把一些代码拼凑在一起学习
标签: php mysql variables post insert