Ik zal even precies weergeven wat ik nu ingetypt heb, en wat de foutcode is:
$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;}
echo $sql_register_check;
Foutcode die hij nu geeft is:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/g_check.php on line 19
SELECT username FROM *.*users WHERE username='*.*'
*.* zijn namen die hij weergeeft, heb ik even weggehaald :-)
mysql_connect ($db_host, $db_user, $db_password);
mysql_select_db ($db_name) or die ('Fout bij het selecteren van de database');
unset ($db_host, $db_user, $db_password, $db_name);
?>
En dan je code daarna zo:
<?php
$code = 9;
$username = cb($_POST['checkurl']); // wat doet de functie cb bij jou?
$pattern_username = '^([0-9a-z])([0-9a-z-]{1,18})([0-9a-z])$';
Ik durf niet te zeggen waar de cb voor staat?!?!?! Heb het script gekregen....
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 30
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/g_check.php on line 31
Notice: Undefined variable: num_results in /var/www/html/g_check.php on line 33
Nu is het op zich wel logisch dat je een warning krijgt.
PHP probeert samen met MYSQL je code uit te voeren.
Met mysql_num_rows vraag je het aantal gevonden records op van de door mysql_query geleverde resultaten.
Dit zal echter allen werken indien er resultaten gevonden zijn.
Jij hebt al een foutje in de opmaak van je QUERY syntax.
Dus geen resultaten dus een Warning.
Nu is het op zich wel logisch dat je een warning krijgt.
PHP probeert samen met MYSQL je code uit te voeren.
Met mysql_num_rows vraag je het aantal gevonden records op van de door mysql_query geleverde resultaten.
Dit zal echter allen werken indien er resultaten gevonden zijn.
Jij hebt al een foutje in de opmaak van je QUERY syntax.
Dus geen resultaten dus een Warning.
Oooooh hellup!
Heb je dan ook enig idee wat voor code ik dan wel moet gebruiken?
Het gaat dus fout na username= in je query. Het kan zijn dat er een raar teken in $username zit. Probeer eens zo:
<?php
$code = 9;
if (isset ($_POST['checkurl'])) { // rare naamgeving trouwens
$username = addslashes($_POST['checkurl']);
}
else {
$username = 'test';
}
$pattern_username = '^([0-9a-z])([0-9a-z-]{1,18})([0-9a-z])$';
Dit zal echter allen werken indien er resultaten gevonden zijn.
Jij hebt al een foutje in de opmaak van je QUERY syntax.
Dus geen resultaten dus een Warning.
Een query die syntactisch correct is maar geen resultaten oplevert geeft geen warning.
Het gaat dus fout na username= in je query. Het kan zijn dat er een raar teken in $username zit. Probeer eens zo:
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 35
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/html/g_check.php on line 36