It uses ORDER BY FIELD(id,8,6,2)
But in my PHP script I get the msg FUNCTION db1.FIELD does not exist
Code: Select all
$Res = mysql_query($SQL) or die("\n<!--$SQL-->\n".mysql_error());Any idea why ?
Thanks
Moderator: General Moderators
Code: Select all
$Res = mysql_query($SQL) or die("\n<!--$SQL-->\n".mysql_error());Code: Select all
CREATE TABLE `t1` (
`id` int(11) NOT NULL auto_increment,
`value` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
INSERT INTO `t1` (`id`, `value`) VALUES
(1, 'value 1'),
(2, 'value 2'),
(3, 'value 3'),
(4, 'value 4');Code: Select all
SELECT `id`, `value`
FROM `t1`
WHERE (`id` = '3' || `id` = '2' || `id` = '4')
ORDER BY FIELD (`id`, '3', '2', '4');Code: Select all
<?php
mysql_connect("localhost", "root", "") or die("Couldnt connect to db");
mysql_select_db("test") or die("Couldnt select db");
$sql = "
SELECT `id`, `value`
FROM `t1`
WHERE (`id` = '3' || `id` = '2' || `id` = '4')
ORDER BY FIELD (`id`, '3', '2', '4');
";
$res = mysql_query($sql) or die(mysql_error());
?>Code: Select all
$sql = "
SELECT `id`, `value`
FROM `t1`
WHERE (`id` = '3' || `id` = '2' || `id` = '4')
ORDER BY FIELD(`id`, '3', '2', '4');
";