重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
CREATE TABLE可以指定引擎,例如:
为克东等地区用户提供了全套网页设计制作服务,及克东网站建设行业解决方案。主营业务为成都网站建设、成都做网站、克东网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
CREATE TABLE IF NOT EXISTS `tab` (
`id` int(11) default NULL,
`pid` int(11) default NULL,
`idpath` char(16) default NULL,
`title` char(16) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `tab` (
`id` int(11) default NULL,
`pid` int(11) default NULL,
`idpath` char(16) default NULL,
`title` char(16) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
我一般是先用几个变量接收传递来的值,再写入到数据库中的。如:
@$s1 = $_GET['id'] ;//@用来消除警告
$a = "select * from cus where id = '$s1'";//假设id类型为varchar ,更新语句也写成类似的,
$a1=mysql_query($a) or die("br表cus不存在此记录!".mysql_error());
//还有你的传递方式是什么?post还是get?怎么这里你都写了?或者你双引号里的连接符点是不是要写到双引号外面
你是要将查询出的数据中为空的字段补充信息,这样可能有好几个空字段,所以理想的方法是先找出需要更新的字段,最后再一次性更新。
foreach($arr[0] as $k = $val){
$data['id'] = $arr[0]['id'];
if($val == null)
$data[$k] = '写入这句';
$m-save($data);
}
你的错误主要在这里
$sql="UPDATE symbols SET country = '$_POST[country]',animal = '$_POST[animal]',cname='$_POST[cname_]' WHERE symbols.id=$_POST[id]";
当存在中文字符时,中文字符用''包围,而英文字符不用,否则会出错的。
像这种symbols.id,句号.只是用于表示指向的,如果是你在单个表中可以把表名省去,就用id就行,只有在多表查询中才需要指明某个字段属于哪个表单。
还有你下面的 $result=$mysqli-query(sql);sql前面应该加一个$。
下面是我改的代码,经过测试可以方便使用:
有个比较怪异的地方是,$_POST[cname_],它在POST表单中自动添加为cname_,这个是var_dump($_POST)测试的得到的结果,var_dump函数用于查看变量类型以及变量值的。还有后面把表单处改为
echo "form method='POST' action='{$_SERVER['PHP_SELF']}'";
actio指向自身,而且将其放在输出循环中,字符集也改为了UTF8,header头先输出声明,否则在IE以为的浏览器中会出现乱码
?php
header("Content-type: text/html;charset=UTF-8");
$host = "localhost";
$user = "root";
$pass = "";
$db = "phpdev";
$mysqli = new mysqli($host, $user, $pass, $db);
if (mysqli_connect_errno()) {
die("Unable to connect!");
}
$mysqli-query("SET NAMES 'utf8'");
if (isset($_POST['bthModify'])) {
$sql="UPDATE {$db}.symbols SET country = '$_POST[country]',animal = '$_POST[animal]',cname='$_POST[cname_]' WHERE symbols.id=$_POST[id]";
$result=$mysqli-query($sql);
// var_dump($sql);
if ($result) {
echo "修改成功";
}else {
echo "修改失败";
}
}
$query = "SELECT * FROM symbols";
if ($result = $mysqli-query($query)) {
if ($result-num_rows 0) {
echo "table cellpadding=10 border=1";
while($row = $result-fetch_array()) {
echo "form method='POST' action='{$_SERVER['PHP_SELF']}'";
echo "tr";
echo "tdinput name='id' type='text' id='id' value='$row[0]' //td";
echo "tdinput name='country' type='text' id='country' value='$row[1]' //td";
echo "tdinput name='animal' type='text' id='animal' value='$row[2]' //td";
echo "tdinput name='cname ' type='text' id='cname' value='$row[3]' //td";
echo "tdinput name='bthModify' type='submit' id='bthModify' value='修改' //td";
echo "/tr";
echo "/form";
}
echo "/table";
}
$result-close();
}
?