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?

@JAN en FRANK

Snap ik iets niet?
$sql = "
SELECT username
FROM " . SEC_TABLE_USERS . "
WHERE username='" . $username . "'";

Waarom mag dat zonder $ voor SEC_TABLE_USERS
@Klaasjan: omdat dat een constante is die met define aangemaakt is.
@Klaasjan: Omdat het met hoofdletters is geschreven, ga ik er even van uit dat het een constante is. Daar zet je geen $ voor.
@Klaasjan,

Zie mijn vorige post in dit topic, SEC_TABLE_USERS is de tabelnaam, die was verkeerd verwerkt in de query, het zou zo moeten:

$sql = "
SELECT username
FROM SEC_TABLE_USERS WHERE username='" . $username . "'";
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
@Robert: nee, zo kan dat niet. Het is een constante, dus die moet je met de concatenate operator gebruiken.
@Jan

Waarom kan ze dan wel zo een tabel aanmaken?

CREATE TABLE `SEC_TABLE_USERS` (

Zo gebruikt ze de constante toch niet goed dan?
Hahaha.

Ik zie twee aannames dat het een Constante is en Robert is het met mij eens.

Maar ik denk dat het de bedoeling is zoals JAn en Frank zeggen alleen dat zie ik nergens terug DEFINE enz.
Oftewel is hij wel aangemaakt?
Frank schreef op 31.05.2006 23:11
Hmmm, het databasemodel is ook voor verbetering vatbaar. Lees eens een artikel over databasenormalisatie. Kolomnamen als extra_1, extra_2, etc. (dus genummerd, zelfde soort gegevens) duiden vrijwel zonder uitzondering op een fout datamodel. Deze gegevens horen in een aparte tabel te staan.


Ik mag een gegeven paard natuurlijk niet in zijn bek kijken. Ik heb dit script gekregen. Heb er zelf echt geen verstand van! Ben al blij dat ik het met jullie hulp een beetje duidelijk kan maken hier.
Ik neem aan dat je geen tabel in je db hebt die .*_users heet, dus daar zit de fout.

Reageren