Warning: mysql_num_rows():
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?
je moet ook een sql uploaden.
flexx:
je moet ook een sql uploaden.
Sorry, wat bedoel je hier precies mee?
Mysql error
Eris:
Mysql error
Ja, dat begrijp ik wel, maar wat kan ik daar nou aan doen?
Kun je me aub ook echt helpen?
volgends mij^o)
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$sql_register_check = "
SELECT username
FROM tabelnaam
WHERE username = '" . $username . "'";
?>
$sql_register_check = "
SELECT username
FROM tabelnaam
WHERE username = '" . $username . "'";
?>
Wat zie je als je dit doet onderaan je code:
Gewijzigd op 01/01/1970 01:00:00 door flexx
Jan:
Is SEC_TABLE_USERS een voorgedefinieerde constante?
Ja!
ik had het niet tegen jouw tegen jan want snapte ff niet waarom hij dat er neerzette;)
@Yvon: wat is het resultaat van die echo (mijn tweede tip)
$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 :-)
Gewijzigd op 01/01/1970 01:00:00 door Yvon
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
error_reporting (E_ALL);
$db_host = 'localhost';
$db_user = 'xxxx';
$db_password = 'xxxx';
$db_name = 'xxxx';
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);
?>
error_reporting (E_ALL);
$db_host = 'localhost';
$db_user = 'xxxx';
$db_password = 'xxxx';
$db_name = 'xxxx';
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:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?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])$';
if ($username != '') {
$sql = "
SELECT username
FROM " . SEC_TABLE_USERS . "
WHERE username='" . $username . "'";
$res = mysql_query($sql) or trigger_error (mysql_error ());
$num_rows = mysql_num_rows ($res);
}
if ($num_results > 0) {
$stop=1;
$code=1;
}
elseif ($username == '') {
$stop=1;
$code=2;
}
elseif (!ereg ($pattern_username, $username)) {
$stop=1;
$code=3;
}
?>
$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])$';
if ($username != '') {
$sql = "
SELECT username
FROM " . SEC_TABLE_USERS . "
WHERE username='" . $username . "'";
$res = mysql_query($sql) or trigger_error (mysql_error ());
$num_rows = mysql_num_rows ($res);
}
if ($num_results > 0) {
$stop=1;
$code=1;
}
elseif ($username == '') {
$stop=1;
$code=2;
}
elseif (!ereg ($pattern_username, $username)) {
$stop=1;
$code=3;
}
?>
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
checkdatabase misschien?
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.
Klaasjan:
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.
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?
Of........
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?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])$';
if ($username != '') {
$sql = "
SELECT username
FROM " . SEC_TABLE_USERS . "
WHERE username='" . $username . "'";
$res = mysql_query($sql) or trigger_error (mysql_error ());
$num_rows = mysql_num_rows ($res);
}
if ($num_rows > 0) {
$stop=1;
$code=1;
}
elseif ($username == '') {
$stop=1;
$code=2;
}
elseif (!ereg ($pattern_username, $username)) {
$stop=1;
$code=3;
}
?>
$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])$';
if ($username != '') {
$sql = "
SELECT username
FROM " . SEC_TABLE_USERS . "
WHERE username='" . $username . "'";
$res = mysql_query($sql) or trigger_error (mysql_error ());
$num_rows = mysql_num_rows ($res);
}
if ($num_rows > 0) {
$stop=1;
$code=1;
}
elseif ($username == '') {
$stop=1;
$code=2;
}
elseif (!ereg ($pattern_username, $username)) {
$stop=1;
$code=3;
}
?>
Klaasjan:
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.
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.
Ok Jan je hebt weer eens gelijk. Maar mijn bedoeling was duidelijk geloof ik
Jan:
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