Fehlermeldung bei DB abfrage
Simon
- php
Hi,
hab da ein kleines Problem und komm nicht dahinter was bei folgenden Script falsch ist:
Fehlermeldung:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in blablabla on line 127
118 $hostUrl = $settings['db_hostUrl'];
119 $userName = $settings['db_userName'];
120 $password = $settings['db_password'];
121 $connectID = mysql_connect($hostUrl, $userName, $password)
122 or die ($lang['sorry_none_connection_db']);
123 mysql_select_db($settings['db_name'], $connectID)
124 or die ($lang['sorry_none_db_select']);
125 $myDataID = mysql_query("UPDATE ".$settings['db']." SET cred='$password1_md5' WHERE code='$code_submitted' AND email='$email_submitted'", $connectID)
125 or die ($lang['sorry_none_db_select']);
126 $matching_id = mysql_result($myDataID,0,0);
127 return $matching_id;
Hoffe dass mir jemand helfen kann
MfG Simon
Hoffe dass mir jemand helfen kann
mysql_error() kann sicher.
mysql_error() kann sicher.
Hilft mir leider nicht weiter
Hi,
mysql_error() kann sicher.
Hilft mir leider nicht weiter
Solche Aussagen helfen auch nicht weiter.
Wenn du ein Verständnisproblem hast, dann frage bitte konkret nach.
MfG ChrisB
n'abend,
125 $myDataID = mysql_query("UPDATE ".$settings['db']." SET cred='$password1_md5' WHERE code='$code_submitted' AND email='$email_submitted'", $connectID)
125 or die ($lang['sorry_none_db_select']);
126 $matching_id = mysql_result($myDataID,0,0);
UPDATE ist nicht SELECT. UPDATE, INSERT, DELETE (und noch etliche andere) liefern dir keine Daten. Du kannst bei diesen Abfragen nur in Erfahrung bringen wie viele Datensätze verändert wurden, siehe mysql_affected_rows().
Du solltest dir angewöhnen deine Werte, speziell wenn sie vom Benutzer kommen, in den SQL-Kontext zu übertragen (, um SQL-Injection zu verhindern).
mysql_query( 'UPDATE '. $settings['db']. '
SET `cred` = "'. mysql_real_escape_string( $password_md5 ) .'"
WHERE `code` = "'. mysql_real_escape_string( $code_submitted ) .'"
AND `email` = "'. mysql_real_escape_string( $email_submitted ) );
weiterhin schönen abend...
n'abend,
»» 125 $myDataID = mysql_query("UPDATE ".$settings['db']." SET cred='$password1_md5' WHERE code='$code_submitted' AND email='$email_submitted'", $connectID)
»» 125 or die ($lang['sorry_none_db_select']);
»» 126 $matching_id = mysql_result($myDataID,0,0);UPDATE ist nicht SELECT. UPDATE, INSERT, DELETE (und noch etliche andere) liefern dir keine Daten. Du kannst bei diesen Abfragen nur in Erfahrung bringen wie viele Datensätze verändert wurden, siehe mysql_affected_rows().
Du solltest dir angewöhnen deine Werte, speziell wenn sie vom Benutzer kommen, in den SQL-Kontext zu übertragen (, um SQL-Injection zu verhindern).
mysql_query( 'UPDATE '. $settings['db']. '
SET
cred
= "'. mysql_real_escape_string( $password_md5 ) .'"
WHEREcode
= "'. mysql_real_escape_string( $code_submitted ) .'"
AND
>
> weiterhin schönen abend...
Perfekt danke
MfG
Simon
Du solltest dir angewöhnen deine Werte, speziell wenn sie vom Benutzer kommen, in den SQL-Kontext zu übertragen (, um SQL-Injection zu verhindern).
Auch be gewöhnlichen, nicht böswilligen Anfragen an den Server können Daten ankommen, die speziell zu behandelnde Zeichen beinhalten. Escaping ist nicht primär da um Injections zu verhindern.