php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.01.2009, 22:41  
Benutzer
 
Registriert seit: 28.12.2008
Beiträge: 92
mastertnt befindet sich auf einem aufstrebenden Ast
Standard Probleme beim senden an die Datenbank

Hallo zusammmen,

habe ein kleines Problem wenn ich Daten in die Datenbank senden möchte.
Bin noch relativ neu bei der Programmierung mit MySql habe aber schon ein paar ein uns ausgaben geschrieben drum versteh ich es nicht

Hier der Auszug aus der Datei, es soll der Wert nok in die Datenbank geschrieben werden Tabelle : job_seeker_info spalte: check VARCHAR Länge 3

die echo ausgabe die ih hier angeführt habe geht ohne prob.

es kommt folgende fehermeldung:

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 'check = "nok" WHERE uname = "mastertnt"' at line 2

Habe es auch schon mit Update anstatt insert into probiert klappt alles nicht
PHP-Code:

<?

include_once "accesscontrol.php";


    
    
//echo "$deaktivieren";
    
    
$ndeaktiv "nok";
    
    
$q1 "select * from job_seeker_info where uname = \"$_SESSION[uname]\" ";
    
$r1 mysql_query($q1) or die(mysql_error());
    
$a1 mysql_fetch_array($r1);

   
// echo "$a1[check]";
     //echo "$ndeaktiv";
    
    
    
$q3 "INSERT INTO job_seeker_info set
    check =  \"$ndeaktiv\"
    WHERE uname = \"$_SESSION[uname]\" "
;
    
    
$r3 mysql_query($q3) or die(mysql_error());
    
  
    
    
    
    
     

echo 
"<br><br><center><span class=HeaderClass>Ihr Gesuch wurde deaktiviert.</span></center>";



 include_once(
'../footer.php'); ?>
danke im voraus

gruss

marcel
mastertnt ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.01.2009, 22:46  
Erfahrener Benutzer
 
Registriert seit: 14.08.2008
Beiträge: 157
Hexe befindet sich auf einem aufstrebenden Ast
Standard

check ist ein reserviertes Wort.
Hexe ist offline   Mit Zitat antworten
Alt 02.01.2009, 22:54  
Benutzer
 
Registriert seit: 28.12.2008
Beiträge: 92
mastertnt befindet sich auf einem aufstrebenden Ast
Standard

danke erstmal für deine schnelle hilfe jetzt kommt folgende Fehlermeldung


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 'WHERE uname = "mastertnt"' at line 3

in Line 3 ist die accesscontrol

PHP-Code:
<?php

session_start
();

if(empty(
$_SESSION[uname]))
{
    
header("location:login.php");
}
else
{
    require_once(
"../main.php");
}

?>
hmmm

danke im voraus
mastertnt ist offline   Mit Zitat antworten
Alt 02.01.2009, 23:44  
Erfahrener Benutzer
 
Registriert seit: 14.08.2008
Beiträge: 157
Hexe befindet sich auf einem aufstrebenden Ast
Standard

INSERT INTO und WHERE passen überhaupt nicht zusammen. Du willst UPDATE.
Hexe ist offline   Mit Zitat antworten
Alt 02.01.2009, 23:55  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
Zitat von mastertnt Beitrag anzeigen
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 'WHERE uname = "mastertnt"' at line 3

in Line 3 ist die accesscontrol
Das bezieht sich auf Zeile #3 der SQl Abfrage.
Zitat:
1: "INSERT INTO job_seeker_info set
2: check = \"$ndeaktiv\"
3: WHERE uname = \"$_SESSION[uname]\" ";
Zitat:
if(empty($_SESSION[uname]))
solltest Du als
PHP-Code:
if(empty($_SESSION['uname'])) 
schreiben, siehe http://de2.php.net/language.types.ar...es.array.donts
David ist offline   Mit Zitat antworten
Alt 03.01.2009, 09:47  
Benutzer
 
Registriert seit: 28.12.2008
Beiträge: 92
mastertnt befindet sich auf einem aufstrebenden Ast
Standard

Danke David jetzt klappt es, bin ja noch in der Lernphase...

Leider stehe ich jetzt vor dem nächsten Problem...

Ich möchte dass auch nur die Inserate bei der Suche angezeigt werden die aktiv sind (pruefe = ok)

Ich weiß nicht genau wo ich das anhängen soll

PHP-Code:

$sch 
= array();  
if (!empty(
$JobCategory))  

    
$sch[] = "job_category like '%$JobCategory%'"

if (!empty(
$careerlevel))  

    
$sch[] = "careerlevel = \"$careerlevel\" "

if (!empty(
$target_company))  

    
$sch[] = "target_company = \"$target_company\" "

if (!empty(
$relocate))  

    
$sch[] = "relocate = \"$relocate\" "

if (!empty(
$country))  

    
$sch[] = "country = \"$country\" "

if (!empty(
$city))  

    
$sch[] = "city like '%$city%'"

if (!empty(
$state))  

    
$sch[] = "state = \"$state\" "


if(!empty(
$nationality)) 

    
$sch[] = "nationality = \"$nationality\" "


if(!empty(
$sex)) 

    
$sch[] = "sex = \"$sex\" "


if(!empty(
$income)) 

    
$sch[] = "income = \"$income\" "


if(!empty(
$maritalstatus)) 

    
$sch[] = "maritalstatus = \"$maritalstatus\" "


if(!empty(
$age)) 

    
$ny date(Y); 

    
$sch[] = " ('$ny' - byear) < '$age' "


if (!empty(
$kw))  

    
$sch[] = "rTitle like '%$kw%' or rPar like '%$kw%' "


if (!
$ByPage$ByPage=5;   
if (!
$Start$Start=0;  

if(
$sm == 'or'

    
$qs "select * from job_seeker_info ".(($sch)?"where ".join(" or "$sch):"")." limit $Start,$ByPage"
    
$qss "select * from job_seeker_info ".(($sch)?"where ".join(" or "$sch):""); 

elseif(
$sm == 'and'

    
$qs "select * from job_seeker_info ".(($sch)?"where ".join(" and "$sch):"")." limit $Start,$ByPage"
    
$qss "select * from job_seeker_info ".(($sch)?"where ".join(" and "$sch):""); 

$rqs mysql_query($qs) or die(mysql_error()); 

$rqss mysql_query($qss) or die(mysql_error()); 
$rr mysql_num_rows($rqss); 
hoffe du kannst mir hierbei auch helfen

thx

gruss

marcel
mastertnt ist offline   Mit Zitat antworten
Alt 03.01.2009, 11:08  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Hänge das doch einfach an die Abfrage an. Ausserdem würde ich das Zusammenstellen der WHERE-Bedingung der Übersicht halber ausserhalb der Abfrage machen. Hier einfach das Beispiel einer deiner Abfragen (warum du jeweils zwei hast, verstehe ich sowieso nicht), ohne SELECT * FROM und etwas lesbarer formatiert:
PHP-Code:
....
if (!empty(
$kw))  { 
    
$sch[] = "rTitle like '%$kw%' OR rPar like '%$kw%' "


if (!
$ByPage$ByPage=5;   
if (!
$Start$Start=0;  

$where = !empty($sch) ? "WHERE " join(" OR "$sch) : "";
if(
$sm == 'or') { 
    
$qs "
        SELECT
            attr_1,
            attr_2,
            ... 
        FROM 
            job_seeker_info " 

        
$where "
        AND
            pruefe = ok
        LIMIT 
            $Start, $ByPage"
;
.... 
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 03.01.2009, 12:30  
Benutzer
 
Registriert seit: 28.12.2008
Beiträge: 92
mastertnt befindet sich auf einem aufstrebenden Ast
Standard

hallo, ich hatte select * from weil alle spalten für die suche benutzt werden

oder ist das nicht zulässig??

habe den code jetzt mla geändert in

PHP-Code:

$where 
= !empty($sch) ? "WHERE " join(" or "$sch) : "";
§where1 = !empty($sch) ? "WHERE " join(" and "$sch) : "";    
if(
$sm == 'or') { 
    
$qs "
        SELECT
            * 
        FROM 
            job_seeker_info " 

        
$where "
        AND
            pruefe = ok
        LIMIT 
            $Start, $ByPage"
;
}


elseif(
$sm == 'and') { 
    
$qs "
        SELECT
            * 
        FROM 
            job_seeker_info " 

        
$where1 "
        AND
            pruefe = ok
        LIMIT 
            $Start, $ByPage"
;

jetzt kommt folgender fehler

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 'AND pruefe = ok LIMIT 0, 5' at line


oder liegt das an select * from ?? eigentlich sollte das ja gehen ( denke ich )

gruss

marcel

Geändert von mastertnt (03.01.2009 um 12:39 Uhr).
mastertnt ist offline   Mit Zitat antworten
Alt 03.01.2009, 12:52  
Benutzer
 
Registriert seit: 27.12.2008
Beiträge: 36
oden befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von mastertnt Beitrag anzeigen
hallo, ich hatte select * from weil alle spalten für die suche benutzt werden

oder ist das nicht zulässig??

habe den code jetzt mla geändert in

PHP-Code:
§where1 = !empty($sch) ? "WHERE " join(" and "$sch) : ""
§where1
__________________
Gruss oden
oden ist offline   Mit Zitat antworten
Alt 03.01.2009, 13:06  
Benutzer
 
Registriert seit: 28.12.2008
Beiträge: 92
mastertnt befindet sich auf einem aufstrebenden Ast
Standard

den fehler hatte ich schon gesehen und korriegiert danach kam die Fehlermeldung, hatte wohl noch den alten Code drin

irgendwas ist wieder mit mysql hmmm

versteh nicht wo der Fehler liegt
mastertnt ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Formular, Daten an datenbank senden Aurec PHP Tipps 2008 11 20.11.2008 18:17
Direkten Zugriff auf Datenbank verhindern heyho PHP Tipps 2008 7 07.02.2008 11:41
Mit php dynamisch Namen von Bildnamen sowie Pfad in mysql Datenbank speichern mallmis PHP Tipps 2008 1 19.11.2007 23:04
Datenbank Probleme Lern_HEIKO PHP Tipps 2008 8 03.11.2007 18:35
[Erledigt] mysql datenbank anlegen...aber WIE??? PHP Tipps 2005-2 0 05.08.2005 19:33
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
Probleme mit Sonderzeichen... Datenbanken 1 02.08.2005 23:37
Probleme beim senden von grossen Attachments mit Formmalier. PHP-Fortgeschrittene 4 11.02.2005 13:32
Formulareinträge in Datenbank eintragen u. Email senden wishy PHP Tipps 2004 6 13.12.2004 16:35
[Erledigt] MySQL findet Datenbank nicht Datenbanken 10 21.10.2004 09:14
[Erledigt] probleme mit event datenbank Datenbanken 1 04.09.2004 00:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php in datenbank sch, php formular senden an datenbank klappt nicht, datenbank select nur mit sch, $r1 = mysql_query($q1) or die(mysql_error()); if(mysql_num_rows($r1) == \'0\') 2 spalten ausgabe

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:02 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum