Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z funkcją get_all_rows, get all rows
jason300
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 26.11.2012

Ostrzeżenie: (0%)
-----


Witam mam problem z funkcją .
  1. function get_all_rows ($q) {
  2. global $conn;
  3. $rows=array();
  4. $result = odbc_exec ($conn, $q);
  5. if ($result) {
  6. while ($row = odbc_fetch_array($result))
  7. $rows[]=$row;
  8. odbc_free_result($result);
  9. return $rows;
  10. }
  11. return " " ;
  12. }



Podczas wywołania wyskakuje błąd
specyfikacja to php 5.3.8 mysql 5.5.28 platforma CENTOS 6 mysql odbc connector chyba 5.2.2 z tego co pamiętam.

Warning: odbc_exec() [function.odbc-exec]: SQL error: [unixODBC][MySQL][ODBC 5.2(w) Driver][mysqld-5.5.28]Result consisted of more than one row, SQL state S1000 in SQLExecDirect in /home/struktura/index.php on line 569 gdzie linia 569 to dokładnie $result = odbc_exec ($conn, $q);

Moje pytanie byłoby takie jak miałbym zabezpieczyć się przed tym wywołaniem i co mam zrobić żeby wyświetlało mi wszystkie "rows" a nie pokazywało taki błąd
Od strony użytkownika wygląda to tak że jeśli jakaś osoba ma przypisane kilka wartości ( spółek w tym przypadku to wyświetla się ten błąd a jeśli jest to tylko jedna wartość to wyświetla się poprawnie)

a tutaj przykład wywołania

$q ="select *, unit.id as unit__id, employee.id as employee__id,
position.floor as depfloor, position.filename as depfilename, position.name as depname
from employee
inner join employeeunit on employee.id = employeeunit.employee_id
inner join unit on employeeunit.unit_id = unit.id
left join position on unit.departament = position.id
where concat(lower(trim(employee.lastname)),' ',lower(trim(employee.firstname))) like '".$n."%'
or concat(lower(trim(employee.firstname)),' ',lower(trim(employee.lastname))) like '".$n."%'
or employee.mobile like '%".$n."%'
or employee.telephone like '%".$n."%'";

$q.="group by employee.id order by lastname, firstname limit 100";
$rows=get_all_rows($q);

Ten post edytował jason300 26.11.2012, 12:16:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
To totalnie bez sensu zważywszy na to że jest to na tej samej wersji php
Zrozum w końcu - to nie ma żadnego związku z php. To jest błąd MYSQL

Cytat
i czy jest jakaś możliwość żebym mógł jakoś tą funkcję zmodyfikować tak aby poprawnie wyświetlało wynik nawet jeśli byłoby to więcej niż jeden "row"
No to ci przecież napisałem co masz poprawić.
Go to the top of the page
+Quote Post

Posty w temacie
- jason300   problem z funkcją get_all_rows   26.11.2012, 12:12:47
- - nospor   Jesteś na 100% pewien że chodzi o to właśnie zapyt...   26.11.2012, 12:21:41
- - jason300   niekoniecznie chodzi o to to jest tylko przykładow...   26.11.2012, 15:16:30
- - nospor   .... To znajdź to zapytanie, które ten błąd generu...   26.11.2012, 15:20:04
- - jason300   no ok dodałbym jeszcze że problem zaczął się pojaw...   26.11.2012, 15:27:52
- - nospor   Ty podaj lepiej to zapytanie. Napisałem ci już jak...   26.11.2012, 15:32:06
- - jason300   super dzięki już mam select *, estructuredb.getu...   26.11.2012, 15:33:54
- - nospor   Podejrzewam, że chodzi o funkcję getunitroot_compa...   26.11.2012, 15:36:33
- - jason300   tak wygląda cała funkcja z zapytaniem nr 1 . [PHP]...   26.11.2012, 15:41:17
- - nospor   o rety.... Napiszę jeszcze raz: Podaj jak wygląda...   26.11.2012, 15:43:27
- - jason300   Dobra tylko takie pytanie jak to znaleźć Wyszukuj...   26.11.2012, 15:52:26
- - nospor   Funkcje SLQ znajdują się w bazie danych a nie na d...   26.11.2012, 15:53:22
- - jason300   no i super o to chodziło wyszukiwanie w zrzucie ba...   26.11.2012, 15:57:11
- - nospor   Tak jak myślałem. Problemem jest o to zapytanie: ...   26.11.2012, 16:33:04
- - jason300   super dziękuję bardzo , jutro sprawdzę mam tylko ...   26.11.2012, 22:08:22
- - nospor   CytatTo totalnie bez sensu zważywszy na to że jest...   27.11.2012, 07:26:34
- - jason300   super to działa przepraszam za głupie pytania już ...   27.11.2012, 09:12:51


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 16:49