sql语句在PHPMyAdmin可以执行,但是在php中执行不了

发布于 2021-11-28 15:15:59 字数 1181 浏览 774 评论 17

源码功能是:从学校新闻网抓取新闻的标题跟地址,然后保存到数据库

抓取的标题跟地址都可以正确echo出来,但是在保存到数据库过程中,只有地址能保存,标题保存不了

代码:

<?php

//连接数据库
$con = mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);if(!$con){ die('could not connect:'.mysql_error()); }mysql_select_db(SAE_MYSQL_DB,$con);

//获取新闻网内容
$con=file_get_contents("http://202.101.111.196/ptxyweb/news/list144_1.html");
$preg = '#<li><a href="(.*)" target="_blank"><font color="">(.*)</font></a></li>#iUs';
preg_match_all($preg,$con,$arr);


//第一条新闻的地址以及标题
$yiurl="http://202.101.111.196".$arr[1][0];
$yititle=$arr[2][0];

//储存到数据库
$sql =" INSERT INTO ptunews(`id`,`title`,`url`) VALUES("","$yititle","$yiurl")";
mysql_query($sql);
?>



echo $sql 的结果是

INSERT INTO ptunews(`id`,`title`,`url`) VALUES("","温馨团年宴,留校师生共享欢乐年(2015-2-18)","http://202.101.111.196/ptxyweb/news/201502/18/652.shtml")

数据库的结构:

初学者,求大神指点,谢谢啦。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(16

无法言说的痛 2021-11-29 23:21:46

我建议你改用PDO连接数据,然后用参数模式执行sql

回忆凄美了谁 2021-11-29 23:21:35

看最后echo 出来的$sql不要看php的生成语句, 最后的sql才是关键. 看来你老人家也需要留神后槽牙了...

葬花如无物 2021-11-29 23:21:29

1.编码不对不会导致无法插入的 2.看生成的SQL文, 数据类型和长度都没什么问题

反目相谮 2021-11-29 23:21:29

Thesday说得没啥错'“.$title.”'

平生欢 2021-11-29 23:21:18

1、检查编码。

2、检查标题的数据类型及长度是否够。

无边思念无边月 2021-11-29 23:21:09

还以为是什么高人驾到, mysql 单引号和双引号都可以用都不知道?我笑了

夜司空 2021-11-29 23:18:36

$sql =" INSERT INTO ptunews(`id`,`title`,`url`) VALUES("","$yititle",

php是门卫教的? 双引号? mysql有双引号?

疑心病 2021-11-29 23:15:32

这都看不出问题.... !!!!! 我笑了.

妖妓 2021-11-29 22:47:09

回复
高人, 你慢慢笑, 注意点你的后槽牙, 别笑掉了, 人老了就剩下那么几颗, 要珍惜啊...

柳絮泡泡 2021-11-29 22:17:11

不要insert id进去, 因为你的id是主键而且是自增的.

其他的看不出什么问题.

有报错信息吗?

掩饰不了的爱 2021-11-29 22:04:37

我换成自己的服务器之后,原代码运行,在数据库中是乱码,加上SET NAMES 'utf8',变成空的。

离去的眼神 2021-11-29 22:02:01

回复
你查看一下你的mysql服务器的log, 看看后台执行情况.一般情况下是不需要设置NAMES的.你看一下你要读取的网页是什么编码的.如果是gb2312之类的, 需要用iconv转换一下变成utf8然后保存就不是乱码了

夜司空 2021-11-29 21:55:38

连接mysql后执行一下

SET NAMES 'utf8'

不再见 2021-11-29 21:02:40

是让你不标准的SQL语句可以正常执行的,是设置SQL解析为宽松模式的

小情绪 2021-11-29 16:42:54

引用来自“徐同乐”的评论

先执行sql_mode=“”;在执行你的sql语句试试

陌若浮生 2021-11-29 10:38:25

先执行sql_mode=“”;在执行你的sql语句试试

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文