<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>号码套餐变更</title>
</head><?php
function modifyPackage($phoneNum, $newPackNum)
{
$con = mysql_connect("localhost", "root", "");
if(!$con)
{
echo "<script language=\"JavaScript\">
alert('数据库连接失败!');
</script>";
echo "<script language='javascript' type='text/javascript'>";
echo "window.location.href='$url'";
echo "</script>";
return;
}
$result = mysql_select_db ("teleservice",$con);
if(!$result)
{
echo "<script language=\"JavaScript\">
alert('选择数据库失败!');
</script>";
echo "<script language='javascript' type='text/javascript'>";
echo "window.location.href='$url'";
echo "</script>";
return;
}
$result = mysql_query("SET NAMES 'GBK'");
if(!$result)
{
echo "<script language=\"JavaScript\">
alert('设置字符集失败!');
</script>";
echo "<script language='javascript' type='text/javascript'>";
echo "window.location.href='$url'";
echo "</script>";
return;
}
$query = "update selection
set packNum = $newPackNum
where selection.phoneNum = $phoneNum";////////???
$result = mysql_query($query, $con);
if($result)
{
echo "<script language=\"JavaScript\">
alert('号码套餐修改成功!');
</script>";
echo "<script language='javascript' type='text/javascript'>";
echo "window.location.href='$url'";
echo "</script>";
} else {
echo "<script language=\"JavaScript\">
alert('号码套餐修改失败!');
</script>";
echo "<script language='javascript' type='text/javascript'>";
echo "window.location.href='$url'";
echo "</script>";
}
mysql_close($con);
}
modifyPackage("15801116820", "01");
?>
<body>
</body>
</html>问题:经过调试,确定问题就是发生在$result = mysql_query($query, $con);这里。我把语句直接拿到phpMyAdmin中去执行,"15801116820"和"01"都用双引号,就可以成功,说明问题应该是在这个query中。我觉得原因可能是不是如下:
1、是不是双引号被转义了?如果是这个原因,那要怎么修改?
2、是不是字符集的设置有问题?(但是我觉得应该不是这个问题,我用中文、英文、数字都试过,都无法执行成功)
3、如果都不是,那请各位知道的帮忙一下哈!
感激不尽!
解决方案 »
- phpnow工具无法安装 apache mysql报错
- vc6.0下用C连接MYSQL,INSERT时候出现问题
- php目录权限设定
- 求一个匹配SQL语句的正则
- ■■■■■使用PHPZIP类出错,急救
- 哪位高人能把这两个PHP函数转成asp代码
- 这两天搞了一个web技术文章的网站,收集了上万文章,希望对大家有所帮助
- 散分......顺便问个问题.
- 请问PHP高手,我有一个ACCESS文件放在LINUX服务器上,然后我想用PHP来调用ACCESS数据文件。
- 请问你们做项目一般都用什么文本编辑器,CK,百度UE,还是什么?
- 求助高手!怎么解决如下问题?
- EclipsePHP Studio v1.2.2 run as没有 php Script 选项
$result = mysql_query($query, $con) or die(mysql_error()); //这样报错了没有
set packNum = '$newPackNum'
where selection.phoneNum = '$phoneNum'";
内容中出现的单双引号,如果会出现歧义,就要转义
什么样子会出现歧义呢?
不如我们用单引号将字符串括起 'ab'cd' 这时bc之间的单引号就出现歧义了:可以认为是字符串ab结束了,也可以认为就是个撇号。所以要转义,写作 'ab\'cd'
双引号中也是如此 "ab\"cd"