В общем я не совсем так делал (использовал временные таблицы) у меня вот как получилось, что скажут спецы по этому поводу?
# это из форму получаю и еще один фикс. номер
$areacode=$HTTP_POST_VARS[\'areacode\'];
$prefix=$HTTP_POST_VARS[\'prefix\'];
$final=4567;
/* Performing SQL query */
mysql_query("CREATE TEMPORARY TABLE tmp (id SMALLINT(4))") or die("<BR>Cannot create tmp table:" . mysql_error());
// mysql_query("LOCK TABLES output input_local_center READ") or die("<BR>Cannot lock tables:" . mysql_error());
$result=mysql_query("SELECT id FROM input_local_center
WHERE prefix=$areacode AND number REGEXP \'.*$prefix;.*\'");
if(mysql_num_rows($result)>0) {
mysql_query("INSERT INTO tmp SELECT id FROM input_local_center
WHERE prefix=$areacode AND number REGEXP \'.*$prefix;.*\'") or die("<BR>Insert into tmp table failed:" . mysql_error());
}
if(mysql_num_rows($result)==0) {
mysql_query("INSERT INTO tmp SELECT id FROM input_rate_center
WHERE prefix=$areacode AND number REGEXP \'.*$prefix;.*\'") or die("<BR>Insert into tmp table failed:" . mysql_error());
}
$query="SELECT output.number,output.state,output.ratecenter FROM output, tmp WHERE output.id=tmp.id";
$result = mysql_query($query) or die("<BR>Query failed:" . mysql_error());
$num_rows = mysql_num_rows($result);
// mysql_query("UNLOCK TABLES; ") or die("<BR>Cannot unlock tables:" . mysql_error());
mysql_query("DROP TABLE tmp") or die("<BR>Drop tmp table failed:" . mysql_error());
?>
почти все ок - но иногда кажись не те данные выданет... или я напутал в сравнении
Код то сам ок?