Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Problem bei DB-Abfrage“

Hansi05

Aktives Mitglied

Hallo, ich will mir grade ein einfaches Script basteln wo 2 Daten von einem Formular an eine Seite geschickt werden, wo dann geguckt wird ob einer der beiden Werte in der Datenbank vorhanden ist:

Code:
$usercode = $_POST['usercode'];

$code = $_POST['code'];

$sql = 'SELECT
			code,
			usercode
		FROM
    		 dntm_promo
		WHERE
			usercode = '.$usercode.'
		OR
			code = '.$code.'';
$result = $db->query($sql);

echo $result->num_rows;

Ich habe in der DB einen Test-Datensatz wo im Feld "usercode" der Inhalt "usercode" steht. Jetzt geb ich in das Formular "usercode" ein und dann sollte der mir eig den Wert "1" ausgeben ... Aber den gibt er mir nur aus wenn ich den OR-Teil weg lasse, es sollen aber beide Werte geprüft werden, damit sich ein User nicht 2 mal beteiligen kann / soll und es ausgeschlossen ist, dass ein Code (zufällig erstellt) nicht doppelt vergeben wird ...

Findet jmd mein Fehler? Ich habe per Google nichts gefunden, was meinen Fehler erklärt :(
 

saila

Moderatorle

AW: Problem bei DB-Abfrage

Also zum einen ist es schwer zu raten oder zu richen, was letztlich in der Tabelle für Werte eingetragen wurden bzw. ob diese überhaupt übertragen wurden.

Zum anderen wäre da das Manual mit dem Begriff DISTINCT. Abgesehen davon - was haben den die Variablen in der Bedingung für Werte?

Und lass dir mal den Query-String ausgeben, dann siehst du was überhaupt abgefragt wird.
 

Drauka

Noch nicht viel geschrieben

AW: Problem bei DB-Abfrage

Ach sorry, Du startest mit ' und nicht mit ", drum der Parse-Error. Dann ist es schon richtig. Hatte ich übersehen. Sorry.
Na dann zeig mal bitte die Tabelle.
 

Hansi05

Aktives Mitglied

AW: Problem bei DB-Abfrage

PHP:
$sql = 'SELECT
			code,
			usercode
		FROM
    		dntm_promo
		WHERE
			usercode = "'.$usercode.'"
		OR
			code = "'.$code.'"';
$result = $db->query($sql);

$anzahl = $result->num_rows;
$row = $result->fetch_assoc();

if ($anzahl == '0') {
	echo 'Dein Code und dein Usercode wurden geprüft und können somit eingetragen werden';
	$pruefung = 'ok';
} else {
	echo 'Dein Code oder dein Usercode wurden bereits in der Datenbank gefunden.';
	if ($row['usercode'] == $usercode) {
		echo 'Dein persönlicher Code zum Weiterschicken lautet "'.$row['code'].'"';
	}
	$pruefung = 'fail';
}

So geht das jetzt ... wenn man im Formular einen Wert in das Feld "code" oder "usercode" eingibt wird geguckt obs den in der DB gibt und dann kommt entsprechend die Meldung aus der if-Abfrage.

Aber ich bin jetzt irgendwie zu dumm zu ner DB zu verbinden :(

Folgender Code zum Verbinden:

PHP:
mysql_connect("localhost","_____","_____") or die 
("Keine Verbindung moeglich"); 
mysql_select_db("dntm_promo") or die 
("Die Datenbank existiert nicht");

Was mach ich nur falsch? *heul*

Bzw es funkt Folgendes nicht:

PHP:
$sql = 'INTERSET INTO
				dntm_promo(code, usercode, name, datum, zeit, klick_counter)
			VALUES ('.$code.','.$usercode.','.$name.','.$datum.','.$zeit.','.$klick_counter.')';
			
	mysql_query($sql);
(egal ob ich die Variablen durch einfach Werte ersetze oder nicht)

Dazu folgende Verbindung:

PHP:
$db = new mysqli('localhost', '___', '___', '___');

if (mysqli_connect_errno()) {
    die ('Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error().'('.mysqli_connect_errno().')');
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.143
Beiträge
2.581.734
Mitglieder
67.208
Neuestes Mitglied
docschweitzer
Oben