请问一个PHP安装程序的小疑点

php中文网
发布: 2016-06-13 13:18:16
原创
895人浏览过

请教一个PHP安装程序的小问题
我写一个PHP安装程序 想通过这个页面直接生成数据库
我将SQL语句分别赋值到数组里
$sql[]="create table a ...";
$sql[]="create table b ...";
$sql[]="create table c ...";
然后用foreach循环执行
foreach($sql as $val)
{
  mysql_query($val);
}

--------------------------------------------------
上面建库没什么问题

然后我希望在程序安装的时候附上一些初始数据 也就是加几篇文章
我同样把insert语句写到了$sql[]中
但是文章嘛 比较长 而且文章是代码类的 很容易起冲突 一直不成功 所以...来请教一下

------解决方案--------------------
冲突原因是没有做如下转义:

$article = "i'm john";
$sql = "insert into articles values('" . addslashes($articles) . "')";
------解决方案--------------------
你最好将遇到的错误信息贴出来。要不然无解。
mysql_query($val) or die(mysql_error()); //改成这样
------解决方案--------------------
赋值不到数组是什么意思? 我猜多半都是跟你的单双引号有关吧
------解决方案--------------------
语句复杂可对语句进行转义,特别是里面有单双引号会造成冲突
楼上都说了,对于赋值不了等问题要给出更专业的问题说明
例如报的错误是什么,调试也是解决问题最重要的一步,
没有错误,想方设法让错误输出来,有了错误就找到了问题所在
------解决方案--------------------
你 #4 的 SQL 指令中由于含有 php 变量的表示,比如 $words[]
所以要处理后才能放到数组中
1、如果是 php5.3以上,那么比较简单,只需
$sqls[] =sql指令
SQL;

2、否则你需要将每句 SQL 指令单独保存到文本文件
然后用程序组装起来
$sqls[] = str_replace('$', '\$', file_get_contents('文件名'));
当然你也可以借助编辑软件,手工将 $ 替换成 \$

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号