sql insert en sql update in if else statement
Pagina: « vorige 1 2 3 volgende »
Quote:
Wanneer jij niet meer moeite doet om een oplossing te vinden
WTF, hoe bedoel je dat? je zegt hier dus eigenlijk dat ik totaal geen moeite heb gedaan om erachter te komen wat er nu precies gebeurt en hoe ik het op kan lossen? ik kan je vertellen dat ik continue bezig ben geweest met proberen. dingen veranderen , weer proberen, dingen zoeken, weer ff proberen, dus zeg niet dat ik er geen moeite voor gedaan heb, want dat is pure onzin!
En nogmaals, je hebt de update al keurig uitgevoerd, alleen controleer jij nergens of dat ook zo is. Vandaar dat jij dat nooit te zien zult krijgen.
Ga eens gestructureerd werken, en dan vooral je werk controleren, en je komt een heel stuk verder. Bij programeren draait alles om controles, dit omdat alles vroeg of laat zal mislukken.
Quote:
De juiste oplossing staat overigens in het rijtje.
is dit een quiz?, waarom zeg je niet welke het is??? ik dacht dat de functie van een forum, het oplossen van problemen was? maar jij maakt er maar een raad spelletje van...
David schreef op 27.10.2006 18:35:
is dit een quiz?, waarom zeg je niet welke het is??? ik dacht dat de functie van een forum, het oplossen van problemen was? maar jij maakt er maar een raad spelletje van...
Jij controleert niet of de query is uitgevoerd en wat daar het resultaat van is! Ik zie alleen een rijtje met functies en dat je daarmee de diverse queries aanroept. Ik kan dus alleen iets roepen over dit stukje syntax, en er staat een juiste tussen, maar helemaal niets over het resultaat. En dat komt omdat JIJ nergens controleert wát nu het resultaat is.Quote:
De juiste oplossing staat overigens in het rijtje.
is dit een quiz?, waarom zeg je niet welke het is??? ik dacht dat de functie van een forum, het oplossen van problemen was? maar jij maakt er maar een raad spelletje van...
Ik ga je geen oplossing geven, ik geef je een zetje in de juiste richting, maar jij mag de oplossing gaan vinden. En je bent er bijna!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?
$res = mysql_query($sql,$sql_update) or die(mysql_error());
//werkt niet, Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in c:\phpdev\www\---teststuff---\resreveringssysteem_v7\tijdelijk_res_aanmaak.php on line 45
$res = mysql_query($sql and $sql_update) or die(mysql_error());
//werkt niet, Notice: Undefined variable: sql_update in c:\phpdev\www\---teststuff---\resreveringssysteem_v7\tijdelijk_res_aanmaak.php on line 45 Query was empty
$res = mysql_query($sql) or die(mysql_error());
$res = mysql_query($sql_update) or die(mysql_error()); //line 46
//werkt niet, Notice: Undefined variable: sql_update in c:\phpdev\www\---teststuff---\resreveringssysteem_v7\tijdelijk_res_aanmaak.php on line 46 Query was empty
$res = mysql_query($sql) and mysql_query($sql_update) or die(mysql_error());
//werkt niet, Notice: Undefined variable: sql_update in c:\phpdev\www\---teststuff---\resreveringssysteem_v7\tijdelijk_res_aanmaak.php on line 45 Query was empty
?>
$res = mysql_query($sql,$sql_update) or die(mysql_error());
//werkt niet, Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in c:\phpdev\www\---teststuff---\resreveringssysteem_v7\tijdelijk_res_aanmaak.php on line 45
$res = mysql_query($sql and $sql_update) or die(mysql_error());
//werkt niet, Notice: Undefined variable: sql_update in c:\phpdev\www\---teststuff---\resreveringssysteem_v7\tijdelijk_res_aanmaak.php on line 45 Query was empty
$res = mysql_query($sql) or die(mysql_error());
$res = mysql_query($sql_update) or die(mysql_error()); //line 46
//werkt niet, Notice: Undefined variable: sql_update in c:\phpdev\www\---teststuff---\resreveringssysteem_v7\tijdelijk_res_aanmaak.php on line 46 Query was empty
$res = mysql_query($sql) and mysql_query($sql_update) or die(mysql_error());
//werkt niet, Notice: Undefined variable: sql_update in c:\phpdev\www\---teststuff---\resreveringssysteem_v7\tijdelijk_res_aanmaak.php on line 45 Query was empty
?>
Quote:
En dat komt omdat JIJ nergens controleert wát nu het resultaat is.
hoe kan ik dat controleren?
Quote:
Hier gebruik je de functie mysql_query() op de verkeerde manier. Gewoon fout dus.//werkt niet, Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in c:\phpdev\www\---teststuff---\resreveringssysteem_v7\tijdelijk_res_aanmaak.php on line 45
Quote:
Dit geeft dus aan dat de variabele $sql_update niet bestaat. Waar maak je deze aan?//werkt niet, Notice: Undefined variable: sql_update in c:\phpdev\www\---teststuff---\resreveringssysteem_v7\tijdelijk_res_aanmaak.php on line 46 Query was empty
David schreef op 27.10.2006 18:53:
hoe kan ik dat controleren?
Met de functie mysql_affected_rows() kun je opvragen hoeveel records er zijn aangemaakt en/of bijgewerkt.Quote:
En dat komt omdat JIJ nergens controleert wát nu het resultaat is.
hoe kan ik dat controleren?
Quote:
Dit geeft dus aan dat de variabele $sql_update niet bestaat. Waar maak je deze aan?
op dezelfde manier als $sql?
Uiteraard! Maar op het moment dat jij met de functie mysql_query() deze variabele aanroept, bestaat hij in elk geval niet. Daar doe je dus iets fout.
en verder niets aan het script? of moet ik ergens anders heen verplaatsen?
maar even voor de duidelijkheid, kan het wel zo met al die if els-jes? ik zou dan volgens jou iets moeten veranderen aan - maak een stuk SQL aan, bv. in de variabele $sql
- voer deze query uit
- controleer of de query is gelukt
volgende stuk:
- maak een stuk SQL aan, bv. in de variabele $sql_update
- voer deze query uit
- controleer of de query is gelukt
Op deze manier ga je de hele boel opbouwen en controleren. Het heeft geen enkele zin om op regel 1 een query aan te maken en deze pas op regel 100 uit te gaan voeren. Doe dat direct, dan kun je het ook niet meer vergeten of de variabele overschrijven.
In mijn scripts staat een query altijd in de variabele $query. Maar omdat deze altijd direct wordt uitgevoerd (en gecontroleerd!) is dat nooit een probleem. Het heeft zelfs een voordeel, er is minder geheugen nodig omdat er slechts 1 variabele bestaat: $query.
Quote:
- maak een stuk SQL aan, bv. in de variabele $sql
- voer deze query uit
- controleer of de query is gelukt
- voer deze query uit
- controleer of de query is gelukt
hoe moet ik die query uitvoeren?
handleiding, maar dat heb je al meerdere keren gedaan. Beetje rare vraag dus.
Dat staat in de Quote:
In mijn scripts staat een query altijd in de variabele $query. Maar omdat deze altijd direct wordt uitgevoerd (en gecontroleerd!) is dat nooit een probleem. Het heeft zelfs een voordeel, er is minder geheugen nodig omdat er slechts 1 variabele bestaat: $query.
hoe is daar de opbouw van? in welke volgorde?
- maak een stuk SQL aan, bv. in de variabele $sql
- voer deze query uit
- controleer of de query is gelukt
?
Wanneer je 1 query hebt, staat dit stukje 1x in je code. Heb je 2 queries, dan staat dit 2 x in je code. Etc.
Het is mij volkomen onduidelijk wat je daar niet aan zou kunnen begrijpen. Gewoon 1-voor-1 de queries aanmaken, uitvoeren en controleren. En klaar is kees!
Uiteraard zijn er technieken om hier fraaie lussen van te maken, maar dat lijkt mij in dit geval nog even iets te hoog gegrepen.
ik ben Kees niet, ben ook maar pas 6 weken bezig met PHP, ben al blij dat ik er iets werkend uitgekregen heb...
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?
if (($_GET["tafel"]) == "tafel1tijd2") {
mysql_query("UPDATE tijd SET TD_tweede = 'bbbbbbb' WHERE TD_id = 1");
}
else
{
echo "tafel1tijd2 fout";
}
?>
if (($_GET["tafel"]) == "tafel1tijd2") {
mysql_query("UPDATE tijd SET TD_tweede = 'bbbbbbb' WHERE TD_id = 1");
}
else
{
echo "tafel1tijd2 fout";
}
?>
Verder hier een voorbeeld van netjes scripten (op- en aanmerkingen zijn altijd welkom!). Doe er je voordeel mee:
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL); // Toon alle fouten en waarschuwingen
$aError = array(); // => de a in $aError staat voor Array, een s staat voor String.
// Database gegevens, aanpassen aan jouw situatie:
$aDB = array('host' => 'localhost', 'user' => '***', 'password' => '***', 'db' => '***');
// Maak verbinding met de database
// @ kun je gebruiken omdat je hier een eigen foutafhandeling gebruikt
if (!@mysql_connect($aDB['host'], $aDB['user'], $aDB['password'])) {
$aError[] = 'Connectie met de host mislukt: '.mysql_error();
}
// @ kun je gebruiken omdat je hier een eigen foutafhandeling gebruikt
if (!@mysql_select_db($aDB['db'])) {
$aError[] = 'Connectie met de database mislukt: '.mysql_error();
}
// ophalen navigatie-elementen:
$query = "SELECT url, tekst FROM navigatie WHERE active = 1";
if (!$result = mysql_query($query)) {
// mislukt:
$aError[] = 'Query "'.$query.'" is mislukt vanwege de volgende fout: '.mysql_error();
}
else {
$sNav = '<ul id="navigation">'.PHP_EOL;; // string waar de navigatie in komt te staan
while ($row = mysql_fetch_assoc($result)) {
$sNav .= '<li><a href="'.$row['url'].'">'.$row['tekst'].'</li>'.PHP_EOL;
}
$sNav .= '</ul>'.PHP_EOL; // netjes afsluiten van de list
}
// Ophalen tekst voor de pagina
$query = "SELECT tekst FROM verhalen WHERE active = 1 ORDER BY datum DESC LIMIT 5"; // oude $query is nu overschreven!
if (!$result = mysql_query($query)) { // oude $result is nu overschreven!
// mislukt:
$aError[] = 'Query "'.$query.'" is mislukt vanwege de volgende fout: '.mysql_error();
}
else {
$sText = '<table id="text">'.PHP_EOL;; // string waar de teksten in komen te staan
while ($row = mysql_fetch_assoc($result)) { // oude $row is nu overschreven
$sText .= '<tr><td>'.$row['tekst'].'</td></tr>'.PHP_EOL;
}
$sText .= '</table>'.PHP_EOL; // netjes afsluiten van de list
}
// En niet te vergeten: De output op het scherm gaan zetten (doe je als laatste!)
if (isset($aError)) { // Zijn er fouten?
echo 'De volgende fouten zijn opgetreden:'.PHP_EOL;
echo '<ul id="error">'.PHP_EOL;
foreach ($aError as $error) { // doorloop de array $aError
echo '<li>'.$error.'</li>'.PHP_EOL;
}
echo '</ul>'.PHP_EOL;
}
if (isset($sNav)) { // Is $sNav wel aangemaakt?
echo $sNav;
}
if (isset($sText)) { // Is $sText wel aangemaakt?
echo $sText;
}
?>
ini_set('display_errors', 1);
error_reporting(E_ALL); // Toon alle fouten en waarschuwingen
$aError = array(); // => de a in $aError staat voor Array, een s staat voor String.
// Database gegevens, aanpassen aan jouw situatie:
$aDB = array('host' => 'localhost', 'user' => '***', 'password' => '***', 'db' => '***');
// Maak verbinding met de database
// @ kun je gebruiken omdat je hier een eigen foutafhandeling gebruikt
if (!@mysql_connect($aDB['host'], $aDB['user'], $aDB['password'])) {
$aError[] = 'Connectie met de host mislukt: '.mysql_error();
}
// @ kun je gebruiken omdat je hier een eigen foutafhandeling gebruikt
if (!@mysql_select_db($aDB['db'])) {
$aError[] = 'Connectie met de database mislukt: '.mysql_error();
}
// ophalen navigatie-elementen:
$query = "SELECT url, tekst FROM navigatie WHERE active = 1";
if (!$result = mysql_query($query)) {
// mislukt:
$aError[] = 'Query "'.$query.'" is mislukt vanwege de volgende fout: '.mysql_error();
}
else {
$sNav = '<ul id="navigation">'.PHP_EOL;; // string waar de navigatie in komt te staan
while ($row = mysql_fetch_assoc($result)) {
$sNav .= '<li><a href="'.$row['url'].'">'.$row['tekst'].'</li>'.PHP_EOL;
}
$sNav .= '</ul>'.PHP_EOL; // netjes afsluiten van de list
}
// Ophalen tekst voor de pagina
$query = "SELECT tekst FROM verhalen WHERE active = 1 ORDER BY datum DESC LIMIT 5"; // oude $query is nu overschreven!
if (!$result = mysql_query($query)) { // oude $result is nu overschreven!
// mislukt:
$aError[] = 'Query "'.$query.'" is mislukt vanwege de volgende fout: '.mysql_error();
}
else {
$sText = '<table id="text">'.PHP_EOL;; // string waar de teksten in komen te staan
while ($row = mysql_fetch_assoc($result)) { // oude $row is nu overschreven
$sText .= '<tr><td>'.$row['tekst'].'</td></tr>'.PHP_EOL;
}
$sText .= '</table>'.PHP_EOL; // netjes afsluiten van de list
}
// En niet te vergeten: De output op het scherm gaan zetten (doe je als laatste!)
if (isset($aError)) { // Zijn er fouten?
echo 'De volgende fouten zijn opgetreden:'.PHP_EOL;
echo '<ul id="error">'.PHP_EOL;
foreach ($aError as $error) { // doorloop de array $aError
echo '<li>'.$error.'</li>'.PHP_EOL;
}
echo '</ul>'.PHP_EOL;
}
if (isset($sNav)) { // Is $sNav wel aangemaakt?
echo $sNav;
}
if (isset($sText)) { // Is $sText wel aangemaakt?
echo $sText;
}
?>
De stylesheet mag je er even bijdenken... ;)
okay leuk voorbeeld over netjes scripten...is mij veels te ingewikkeld...ik wilde alleen maar een klein werkend script, vanmorgen gepost op forum...maar blijkbaar weet niemand het antwoord op mijn vraag