我试图做一个脚本,将获得有关DJ的信息。 我想要做的是将DJ标题与表格中的DJ名称相匹配。 如果dj名称存在,那么我想选择该行并使用该信息。preg_match名称和标题与数据库中的信息
我首先做的是制作一个数组中的dj列表,然后我想将它与标题匹配,如果有匹配我想获取信息。
剧本,我现在是:
$ps = $this->db->prepare("SELECT djname FROM `djcrew`");
$ps->setFetchMode(PDO::FETCH_ASSOC);
$ps->execute();
$selectit = $ps->fetchALL();
$result01 = preg_match('/'.$selectit.'/', $servertitle, $matches);
$ps01 = $this->db->prepare('SELECT * FROM `djcrew` WHERE `djname` = :djname');
$ps01->bindParam(':djname', $matches[0], PDO::PARAM_STR);
$ps01->setFetchMode(PDO::FETCH_ASSOC);
$ps01->execute();
$data01 = $ps01->fetchAll();
的问题是,我现在已经是我的错误数组字符串转换 selectit的输出是:
Array
(
[0] => Array
(
[djname] => test04
)
[1] => Array
(
[djname] => test03
)
[2] => Array
(
[djname] => test02
)
[3] => Array
(
[djname] => Test01
)
)
我已经尝试了很多东西,但我无法得到这个工作。
[编辑]添加mysql表。
转储MySQL表的
CREATE TABLE IF NOT EXISTS `djcrew` (
`id` int(11) NOT NULL,
`djname` varchar(48) NOT NULL DEFAULT '',
`name` varchar(48) NOT NULL DEFAULT '',
`hobbies` varchar(48) NOT NULL DEFAULT '',
`other` text NOT NULL,
`facebook` varchar(48) NOT NULL DEFAULT '',
`twitter` varchar(48) NOT NULL DEFAULT '',
`request` varchar(2) NOT NULL DEFAULT '1',
`picname` varchar(32) NOT NULL DEFAULT '',
`active` varchar(32) NOT NULL DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
INSERT INTO `djcrew` (`id`, `djname`, `name`, `hobbies`, `other`, `facebook`, `twitter`, `request`, `picname`, `active`) VALUES
(1, 'Test01', 'Test - DJ', '', '', '', '', '1', 'test01', '0'),
(2, 'Test02', 'Testing - DJ', '', '', '', '', '1', 'test02', '1'),
我想要得到的是djname = ..名称= .. picname = ..
$arr = array('djname' => $data01['djname'], 'name' => $data01['username'], 'picname' => $data01['picname']);
你知道什么数组和什么方法'PDOStatement :: fetchAll()'在第一个地方做? – 2014-10-17 12:20:53
给我们表的结构,数据的一个例子和预期的结果... – amdev 2014-10-17 12:23:46
增加了数据库信息和我想用它 – 2014-10-17 12:31:29