[php & mysql] Updaten doet het niet.*

Pagina: 1
Acties:

Onderwerpen


  • Viva Vince
  • Registratie: Oktober 2002
  • Laatst online: 07-11-2024
Ik maak dus een nieuwe table, daarna schrijf ik een rij vol. Het probleem is nu die rij te updaten. Dat lukt niet. Wat wel werkt is eerst de rij DELETE en daarna een nieuwe rij aanmaken maarja :/

Ook als ik met MySWL control center check of de table veranderd is, zie ik dat hij niet veranderd is.

Het zal wel verschikkelijk basic zijn, maarja iedereen moet ergens beginnen... als je nog meer onzin in de code ziet staan hoor ik het graag(bijvoorbeeld bij mysql_result(iets,0,iets) is dat gewoon net zoals in C++ array[0] ?)

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
<html>
 <head>
  <title>PHP Test</title>
 </head>
 <body>
<?
$user="Vince";
$pass="";
$host="10.0.0.151";
$database="test";
mysql_connect($host, $user, $pass);
@mysql_select_db($database) or die( "Unable to select database");

$query="CREATE TABLE contacts (id int(3), voor int(3) NOT NULL, tegen int(3) NOT NULL)";
mysql_query($query);

$query = "INSERT INTO contacts VALUES ('1','7','5')";
mysql_query($query);


$query="UPDATE contacts SET voor='3' tegen='3' WHERE id='1' ";
mysql_query($query);

$query="SELECT * FROM contacts";
$result=mysql_query($query);
$idvoor=mysql_result($result,0,"voor");
$idtegen=mysql_result($result,0,"tegen");
$idtot=$idtegen+$idvoor;
echo "Voor ($idvoor/$idtot): <br>";
$i=0;
while ($i < $idvoor) {
    echo "=";
    ++$i;
    }
$i=0;
while ($i < $idtegen) {
    echo "#";
    ++$i;
    }

mysql_close();
?>
</body>
</html>

[ Voor 13% gewijzigd door Viva Vince op 13-09-2003 12:53 ]


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:56
Vervang dit eens in je code, dan zie je tenminste wat er fout gaat. Verder kun je php tussen de [ p h p ] en [ / p h p] tags zetten, dan wordt het leesbaar. Overigens zijn ze hier niet echt blij met meldingen als warning noob, daar hebben ze www.beginnersweb.nl voor ;)
PHP:
1
mysql_query($sql) or die($sql.'<br>error:<br>'.mysql_error())
Je bent trouwens een komma vergeten in je update query tussen de velden.

edit:ik zou dit anders oplossen:
PHP:
1
2
3
4
$query="SELECT * FROM contacts";
$result=mysql_query($query);
$idvoor=mysql_result($result,0,"voor");
$idtegen=mysql_result($result,0,"tegen");

PHP:
1
2
3
4
5
$query="SELECT voor,tegen FROM contacts"; //betere performance
$result=mysql_query($query) or die($query.'<br>error:<br>'.mysql_error())
$data=mysql_fetch_assoc($result);
$idvoor=$data['voor'];
$idtegen=$data['tegen'];

[ Voor 81% gewijzigd door djluc op 13-09-2003 12:56 ]


  • Viva Vince
  • Registratie: Oktober 2002
  • Laatst online: 07-11-2024
Het was de comma, het mooie is dat het fout in het tutorial stond! (http://www.freewebmasterhelp.com/tutorials/phpmysql/7) Hij update het geheel nu fijn. :)

Is idd veel beter debuggen zo... en nog bedankt voor die andere oplossing. Is toch echt wel mooier(alles ophalen is gewoon lomp, maar ik wist niet beter)