Poniższy kod nie zwraca nic z bazy danych.
Jednak gdy wezmę wartość $querystring i wkleję do zapytań z poziomu programu zarządzającego bazą wynik jest jednoznaczny.
Skrypt łączy się z bazą poprawnie, bo inne zapytania i inserty działają.

Tu wartość $querystring:
select MAX(host.id_connect), host.server_addr from komentarze.host where host.server_addr='127.0.0.1' group by host.server_addr

i zwrócone dane przez niego z bazy:

69 127.0.0.1


  1. function queryfunc($querystring)
  2. {
  3. if(!mysql_query($querystring))
  4. {
  5. exit('Wystąpił błąd numer ('.mysql_errno().'): <b>'.mysql_error().$querystring.'</b>');
  6. }
  7. }
  8.  
  9. if(! $identyfikator=@mysql_connect('localhost','root','sawicz01'))
  10. {
  11. exit('Wystąpił błąd numer ('.mysql_errno().'): <b>'.mysql_error().'</b>');
  12. }
  13. mysql_query('USE komentarze');
  14.  
  15. $querystring='select MAX(host.id_connect), host.server_addr from komentarze.host where host.server_addr=\''.$_SERVER['REMOTE_ADDR'].'\' group by host.server_addr';
  16.  
  17. $sqlwynik=queryfunc($querystring);
  18.  
  19. $row=mysql_fetch_array($sqlwynik);


Źle zdefiniowana funkcja

  1. function queryfunc($querystring)
  2. {
  3. if(!mysql_query($querystring))
  4. {
  5. exit('Wystąpił błąd numer ('.mysql_errno().'): <b>'.mysql_error().$querystring.'</b>');
  6. }
  7. }


Funkcja niczego nie zwraca. Inserty działały ale Selecty już nie

Powinno być
  1. function queryfunc($querystring)
  2. {
  3. if(!result=mysql_query($querystring))
  4. {
  5. exit('Wystąpił błąd numer ('.mysql_errno().'): <b>'.mysql_error().$querystring.'</b>');
  6. }
  7. return $result;
  8. }