|
|
|
| из формы получаю несколько id,
как одним запросом select получить все строки соответствующие этим id.
если делаю так:
select * from t_name where id=1 or id=3 or id=10
то в командной строке все нормально но при выводе на страницу :
while($mas=mysql_fetch_row($result)){
print $mas[0];
}
выводится на одну строку меньше, хотя mysql_num_rows выдает правильное количество строк(3)
как правильно составить запрос? | |
|
|
|
|
|
|
|
для: taras
(02.09.2006 в 22:26)
| | У вас действительно тот скрипт какой вы привели, или он отличается? | |
|
|
|
|
|
|
|
для: cheops
(02.09.2006 в 22:31)
| | скрипт сложнее ( с классами но по сути он такой) если подробнее, то есть класс mysql, который отвечает за подключение к mysql и класс наследующий, скрипт выглядит так
mysql:
require_once("vars.class");
class mysql_func extends vars{
var $host = "127.0.0.1";
var $user = "user";
var $pass = "pass";
var $db = "surf";
var $id;
var $query_result;
var $query_str;
var $sql_err;
function connect(){
$this->id=mysql_connect($this->host,$this->user,$this->pass);
mysql_select_db($this->db);
}
function ms_query(){
$this->query_result=mysql_query($this->query_str);
}
function ms_close(){
mysql_close($this->id);
}
}
класс наследующий (немного упрощенный, но в таком виде он и выдает на одну строку меньше):
require_once("mysql.class");
class show extends mysql_func{
function show_info(){
$this->connect();
$this->query_str="select id,id_user,name from t_name where id=68 or id=69 or id=40 ";
$this->ms_query() or $this->sql_err.=mysql_error()."<br />";
print mysql_num_rows($this->query_result)." - rows<br>";
while($us=mysql_fetch_array($this->query_result)){
print "<br>".$us[0]." * ".$us[1]." * ".$us[2]." * ".$this->sql_err;
}
$this->ms_close();
}
} | |
|
|
|
|
|
|
|
для: taras
(02.09.2006 в 22:47)
| | Все работает в таком виде, видимо был какой-то сбой в работе Mysql | |
|
|
|