![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
一个小应用,
写入一个二维数组到mysql,
$news数组是类似下面这样的:
[PHP]Array
(
[0] => Array
(
[0] => 新闻标题
[1] => 新闻内容
[2] => 2006-03-20 09:48:20
[3] => 10
[4] => 49
)
[1] => Array
(
[0] => 新闻标题
[1] => 新闻内容
[2] => 2006-03-21 11:29:49
[3] => 10
[4] => 49
)
)[/PHP]
现在用下面这样的php写入数据库,
[PHP]
require_once('DB.php');
$db = DB::connect("mysql://root:pssword@localhost/db");
if (DB::iserror($db)) {
die($db->getMessage());
}
$sql = "select title from mos_content";
$title_list = $db->getcol($sql);
foreach ($news as $v) {
if (!in_array(trim($v[0]), $title_list)) {
$db->query("insert into mos_content (title,introtext,created,sectionid,catid,state) values (?, ?, ?, ?, ?, '1')",$v);
}
}
[/PHP]
但经常有重复条目写入,
if (!in_array(trim($v[0]), $title_list))
in_array()函数能否用在中文字符串判断上,
而且很多标题中还含有空格和中文标点。
如果不行的话,这种情况我该如何检查数组中是否有数据库中记录?
初学php,请大家指点一下~ 多谢~

