View Single Post
Old 06/05/2019, 09:52 AM   #3
Johhnyllll
Huge Clucker
 
Johhnyllll's Avatar
 
Join Date: Sep 2014
Posts: 253
Reputation: 12
Default Re: MySQL запросы.

Quote:
Originally Posted by Stepashka View Post
  1. Используйте IN() вместо OR...OR...
С IN() работает.
PHP Code:
[12:50:01] [INFOquery "SELECT * FROM accounts WHERE UID IN(1, -1, 2)" successfully executed within 0.439 milliseconds
[12:50:01] [DEBUGCResultSet::Create(connection=0x733c98query_str='SELECT * FROM accounts WHERE UID IN(1, -1, 2)')
[
12:50:01] [DEBUGcreated new resultset '0x5a934b8'
[12:50:01] [DEBUGfetched MySQL result '0x6e1100'
[12:50:01] [DEBUGallocated 488 bytes for PAWN result
[12:50:01] [DEBUGCCallback::Execute(amx=0x2bbad98index=45num_params=4)
[
12:50:01] [INFOExecuting callback 'OnMySQL_GetNameByUID' with 4 parameters...
[
12:50:01] [DEBUGprocessing internal specifier 'c'
[12:50:01] [DEBUGpushed value '2' onto AMX stack
[12:50:01] [DEBUGprocessing internal specifier 'c'
[12:50:01] [DEBUGpushed value '-1' onto AMX stack
[12:50:01] [DEBUGprocessing internal specifier 'c'
[12:50:01] [DEBUGpushed value '1' onto AMX stack
[12:50:01] [DEBUGprocessing internal specifier 'c'
[12:50:01] [DEBUGpushed value '0' onto AMX stack
[12:50:01] [DEBUGexecuting AMX callback with index '45'
[12:50:01] [DEBUGcache_get_row_count(0x03F12034) (C:\Users\lJohh\Desktop\Corso\Corso-San-Andreas\pawno\include\lib\a_mysql.inc:182 -> ..\source\mysql.inc:187)
[
12:50:01] [DEBUGcache_get_row_count: return value'1' (C:\Users\lJohh\Desktop\Corso\Corso-San-Andreas\pawno\include\lib\a_mysql.inc:182 -> ..\source\mysql.inc:187)
[
12:50:01] [DEBUGcache_get_row_count(0x03F12040) (..\source\mysql.inc:192)
[
12:50:01] [DEBUGcache_get_row_count: return value'1' (..\source\mysql.inc:192)
[
12:50:01] [DEBUGcache_get_row_count(0x03F12040) (..\source\mysql.inc:193)
[
12:50:01] [DEBUGcache_get_row_count: return value'1' (..\source\mysql.inc:193)
[
12:50:01] [DEBUGcache_get_row_count(0x03F12030) (C:\Users\lJohh\Desktop\Corso\Corso-San-Andreas\pawno\include\lib\a_mysql.inc:182 -> ..\source\mysql.inc:204)
[
12:50:01] [DEBUGcache_get_row_count: return value'1' (C:\Users\lJohh\Desktop\Corso\Corso-San-Andreas\pawno\include\lib\a_mysql.inc:182 -> ..\source\mysql.inc:204)
[
12:50:01] [DEBUGcache_get_value_name(0"Name"0x03F1210424) (..\source\mysql.inc:206)
[
12:50:01] [DEBUGcache_get_value_nameassigned value'Johhny' (..\source\mysql.inc:206)
[
12:50:01] [DEBUGcache_get_value_name: return value'1' (..\source\mysql.inc:206)
[
12:50:01] [DEBUGcache_get_value_name(1"Name"0x03F120A424) (..\source\mysql.inc:207)
[
12:50:01] [DEBUGcache_get_value_nameassigned value'Luciano' (..\source\mysql.inc:207)
[
12:50:01] [DEBUGcache_get_value_name: return value'1' (..\source\mysql.inc:207)
[
12:50:01] [DEBUGcache_get_value_name(2"Name"0x03F1204424) (..\source\mysql.inc:208)
[
12:50:01] [ERRORcache_get_value_nameinvalid row index '2' (number of rows'2') (..\source\mysql.inc:208)
[
12:50:01] [DEBUGAMX callback executed with error '0'
[12:50:01] [INFOCallback successfully executed

Quote:
Originally Posted by Stepashka View Post
  1. Пользуйтесь циклом, а не просто обращайтесь к строкам которых может не быть.
Не совсем понимаю что ты имеешь ввиду. Делать запросы по циклу, записывать куда то данные и потом их собрать?

Ещё я нашел пример с циклом из википедии MySQL:
PHP Code:
if(!cache_get_result_count(result_count)) return printf("couldn't retrieve result count");

printf("we will now go through all %d results:"result_count);
for(new 
rresult_countr++)
{
    
cache_set_result(r);
    new 
rowss cache_num_rows();
        
cache_get_value_name(0"Name"mysql_Name);
    
cache_get_value_name(rowss 1"Name"mysql_Name1);
    
cache_get_value_name(rowss 2"Name"mysql_Name2);
    
printf("\t%d rows in %d. result"rowssr+1);

Но он не особо работает...
Johhnyllll is offline   Reply With Quote