wampserver 环境 mysql保存正则表达式到表中 到取出来用时始终匹配不上 但手动在php代码中打上去却没问题

字段类型:utf8_general_ciutf8mb4_general_ci都试过了还是不行正则内容如下:/(mjid|dkid)=([0-9]+)&(scid|plid... 字段类型:utf8_general_ci utf8mb4_general_ci 都试过了 还是不行
正则内容如下 :/(mjid|dkid)=([0-9]+)&(scid|plid)=([0-9a-zA-Z]+)/
当没有&字符的时候:如:/(mjid|dkid)=([0-9]+)/ 没问题 可以匹配

所以估计是&这个特殊字符的问题了 求解
像这样:$reg1 = "/(mjid|dkid)=([0-9]+)&(scid|plid)=([0-9a-zA-Z]+)/"; 这个放去匹配没问题,但$reg2 = 数据库取到的结果(同$reg1的字符一样);
打印 $reg1 和 $reg2 字符完全一样 $reg2却不能匹配
展开
 我来答
Frenchb6
2016-10-12 · TA获得超过145个赞
知道小有建树答主
回答量:268
采纳率:0%
帮助的人:255万
展开全部
这个问题是说你连接mysql的时候没有填写密码?

网页上连不上,那应该是你配置文件中的设定与 MySQL 默认权限账户(没有密码的 root)不对应造成的。
在phpMyAdmin中,使用文件config.inc.php保存用户名和密码,当需要更换用户或用户口令更改时,必须修改config.inc.php文件,然后再上传。你去更改下配置文件 试试把。
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql -udebian-sys-maint -p
Enter password: <输入[client]节的密码>
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
另一个方法
Windows:

1. 管理员登陆系统,停止mysql服务或者结束mysqld-nt进程
2. 进入命令行,来到mysql的安装目录.假设安装目录为 d:\mysql\ , CMD进入命令行
3. 运行 d:\mysql\bin\mysqld-nt --skip-grant-tables 启动mysql,关闭权限的检查
4. 运行 d:\mysql\bin\mysqladmin -u root flush-privileges password "newpassword" 重设root密码
5. 重新启动mysql服务
追问
是我表达有问题吗? 
不关连接什么的问题 ,是从数据库中读出来已保存在表中的正则表达式 应用在实际代码中 像这样:$reg1 = "/(mjid|dkid)=([0-9]+)&(scid|plid)=([0-9a-zA-Z]+)/"; 这个放去匹配没问题,但$reg2 = 数据库取到的结果(同$reg1的字符一样);
打印 $reg1 和 $reg2 字符完全一样 $reg2却不能匹配
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式