Hallo Allemaal,

Ik ben nieuw hier, omdat ik echt hulp nodig heb. Wat ik ook doe, ik krijg steeds dezelfde foutcode.

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

Ik heb helemaal geen verstand van MySQL, dus ik hoop dat jullie mij willen helpen.

De volledige code ziet er als volgt uit:

$code = 9;

$username = cb($_POST['checkurl']);

$pattern_username = '^([0-9a-z])([0-9a-z-]{1,18})([0-9a-z])$';

if ($username!='') {

$sql_register_check = "SELECT username FROM ".SEC_TABLE_USERS." WHERE username='$username'";
$query_sql_register_check = mysql_db_query(SEC_MYSQL_BASE,$sql_register_check,$connect);
$num_rows = mysql_num_rows($query_sql_register_check);

}

if ($num_results>0) {$stop=1;$code=1;} elseif ($username=='') {$stop=1;$code=2;} elseif (!ereg($pattern_username,$username)) {$stop=1;$code=3;}



Wil/kan iemand mij helpen?

Zowel de tabelnaam als de waarde bij username ontbreken. Ga dus maar eens uitzoeken waarom die ontbreken en waarom je daar niet op controleert.

Wet van Murphy: Alles wat fout kan gaan, zal ook fout gaan.
Jan Koehoorn schreef op 31.05.2006 23:19
Ik neem aan dat je geen tabel in je db hebt die .*_users heet, dus daar zit de fout.


Nee, zoals ik al eerder schreef, staat daar een naam, die heb ik even weggehaald door *.*
Yvon schreef op 31.05.2006 23:17
Oké dan, met echo :-)


SELECT username FROM *.*_users WHERE username='*.*'
Notice: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*.*users WHERE username='*.*'' at line 2 in /var/www/html/g_check.php on line 36

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/g_check.php on line 37


komt dit eruit als je
echo $sql; doet
Of heb je gegevens gebliebt? (*.*)
Als dat zo is vraag ik je om het eens zonder *.* te doen wat dat kan nou net de fout wegbliepen
Robert schreef op 31.05.2006 23:18
@Jan

Waarom kan ze dan wel zo een tabel aanmaken?

CREATE TABLE `SEC_TABLE_USERS` (

Zo gebruikt ze de constante toch niet goed dan?


Een constante in PHP werkt zoals een define in C. PHP vult voor die constante gewoon letterlijk in wat er gedefinieerd is. Tussen de backticks zal PHP dus gewoon de tabelnaam (in dit geval "users" denk ik) in vullen.
Yvon schreef op 31.05.2006 23:21
[quote=Jan Koehoorn schreef op 31.05.2006 23:19]Ik neem aan dat je geen tabel in je db hebt die .*_users heet, dus daar zit de fout.


Nee, zoals ik al eerder schreef, staat daar een naam, die heb ik even weggehaald door *.*[/quote]En hoe moeten wij je dan nu helpen met debuggen? Nu wordt het een raadsel!
Robert schreef op 31.05.2006 23:18
@Jan

Waarom kan ze dan wel zo een tabel aanmaken?

CREATE TABLE `SEC_TABLE_USERS` (

Zo gebruikt ze de constante toch niet goed dan?


Hoe moet/kan ik het dan wel goed doen?
Sorry Yvon,

dat was een foutje van mij.. Loop een beetje achter met het werken met constanten.. (gebruik ik zelf bijna nooit)
Ga er voor het gemak maar vanuit dat dat niet is gezegd.
Oké dan met naam en toenaam:

SELECT username FROM in-actie_users WHERE username='gerda'
Notice: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'in-actie_users WHERE username='gerda'' at line 2 in /var/www/html/g_check.php on line 36

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/g_check.php on line 37
Ik wens je veel sterkte met dit probleem Yvon. Morgen kijk ik wel weer eens of het opgelost is ;-)
Oh ik lees je laatste post nog even: ik weet niet of dat minteken in je tabelnaam wel toegestaan is.

Reageren