PDA

Bekijk Volledige Versie : Datetime lukt niet



Piet
10/04/07, 22:56
Ik heb een tabelkolom met de naam Datum en datetime als type maar hoe krijg
ik daar de systeemdatum/tijd in?
Met de twee onderstaande scriptjes verschijnen er alleen maar nullen als ik
een select query opvraag.


Ik heb dit geprobeerd:

$datetime = date("Y-m-d H:s:i");
$query = "INSERT INTO containers1 (Datum) VALUES ($datetime)";


Dit werkte ook niet:

if ($_SERVER['REQUEST_METHOD'] == "POST") {
if (!empty($_POST['Naam']) && !empty($_POST['Adres']) ) {
$sql =
"INSERT INTO containers1 (Naam, Adres, Datum)
VALUES
('".$mysqli->real_escape_string($_POST['Naam'])."','".$mysqli->real_escape_string($_POST['Adres'])."','".$mysqli->real_escape_string($_POST['NOW()'])."')";

if (!$mysqli->query($sql)) {
printf("Insert failed: %s\n", $mysqli->error);
}
}
}





--

Wees aardig tegen rokers, hun leven is al zo kort!

..
Posted by news://news.nb.nu (http://www.nb.nu)

Anno
10/04/07, 22:56
"Piet" <pdk@perso.be> schreef in bericht
news:da48txuba6tn$.lzs5nnxq2wg4$.dlg@40tude.net...
>
> Ik heb een tabelkolom met de naam Datum en datetime als type maar hoe
> krijg
> ik daar de systeemdatum/tijd in?
> Met de twee onderstaande scriptjes verschijnen er alleen maar nullen als
> ik
> een select query opvraag.
>
>
> Ik heb dit geprobeerd:
>
> $datetime = date("Y-m-d H:s:i");
> $query = "INSERT INTO containers1 (Datum) VALUES ($datetime)";

Moet zijn $query = "INSERT INTO containers1 (Datum) VALUES (now())";



> Dit werkte ook niet:
>
> if ($_SERVER['REQUEST_METHOD'] == "POST") {
> if (!empty($_POST['Naam']) && !empty($_POST['Adres']) ) {
> $sql =
> "INSERT INTO containers1 (Naam, Adres, Datum)
> VALUES
> ('".$mysqli->real_escape_string($_POST['Naam'])."','".$mysqli->real_escape_string($_POST['Adres'])."','".$mysqli->real_escape_string($_POST['NOW()'])."')";
>
> if (!$mysqli->query($sql)) {
> printf("Insert failed: %s\n", $mysqli->error);
> }
> }
> }
>
'".$mysqli->real_escape_string($_POST['NOW()'])."' moet zijn enkel now()

Piet
10/04/07, 22:56
>
> Moet zijn $query = "INSERT INTO containers1 (Datum) VALUES (now())";


Helaas met het eerste scriptje verschijnen er allemaal nullen in mijn tabel
en met de tweede krijg ik de foutmelding:
Fatal error: Call to undefined function now() in blabla.php on line 31


Script 1:
//$datetime = date("Y-m-d H:s:i");
//$query = "INSERT INTO containers1 (Datum) VALUES (NOW())";



Script 2:
$sql =
"INSERT INTO containers1 (Naam, Adres, Datum)
VALUES
('".$mysqli->real_escape_string($_POST['Naam'])."','".$mysqli->real_escape_string($_POST['Adres'])."','".$mysqli->real_escape_string($_POST[NOW()])."')";


--
Posted by news://news.nb.nu (http://www.nb.nu)

Anno
10/04/07, 22:56
"Piet" <pdk@perso.be> schreef in bericht news:4618aea7$1@news.nb.nu...
>
>>
>> Moet zijn $query = "INSERT INTO containers1 (Datum) VALUES (now())";
>
>
> Helaas met het eerste scriptje verschijnen er allemaal nullen in mijn
> tabel en met de tweede krijg ik de foutmelding:
> Fatal error: Call to undefined function now() in blabla.php on line 31
>
>
> Script 1:
> //$datetime = date("Y-m-d H:s:i");
> //$query = "INSERT INTO containers1 (Datum) VALUES (NOW())";
>
>
>
> Script 2:
> $sql =
> "INSERT INTO containers1 (Naam, Adres, Datum)
> VALUES
> ('".$mysqli->real_escape_string($_POST['Naam'])."','".$mysqli->real_escape_string($_POST['Adres'])."','".$mysqli->real_escape_string($_POST[NOW()])."')";

Probeer 'm eens zo:

$sql = "INSERT INTO containers1 (Naam, Adres, datum)
values('$_POST['Naam'],'$_POST['Adres'],now())";

Piet
10/04/07, 22:56
> Probeer 'm eens zo:
>
> $sql = "INSERT INTO containers1 (Naam, Adres, datum)
> values('$_POST['Naam'],'$_POST['Adres'],now())";
>

Dan krijg ik de foutmelding:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting
T_STRING or T_VARIABLE or T_NUM_STRING in invoer5.php on line 22


--
Posted by news://news.nb.nu (http://www.nb.nu)

Anno
10/04/07, 22:56
"Anno" <maandrager_weghalen_@gmail.com> schreef in bericht
news:evabd3$7dp$1@nl-news.euro.net...
>
> "Piet" <pdk@perso.be> schreef in bericht news:4618aea7$1@news.nb.nu...
>>
>>>
>>> Moet zijn $query = "INSERT INTO containers1 (Datum) VALUES (now())";
>>
>>
>> Helaas met het eerste scriptje verschijnen er allemaal nullen in mijn
>> tabel en met de tweede krijg ik de foutmelding:
>> Fatal error: Call to undefined function now() in blabla.php on line 31
>>
>>
>> Script 1:
>> //$datetime = date("Y-m-d H:s:i");
>> //$query = "INSERT INTO containers1 (Datum) VALUES (NOW())";
>>
>>
>>
>> Script 2:
>> $sql =
>> "INSERT INTO containers1 (Naam, Adres, Datum)
>> VALUES
>> ('".$mysqli->real_escape_string($_POST['Naam'])."','".$mysqli->real_escape_string($_POST['Adres'])."','".$mysqli->real_escape_string($_POST[NOW()])."')";
>
> Probeer 'm eens zo:
>
> $sql = "INSERT INTO containers1 (Naam, Adres, datum)
> values('$_POST['Naam'],'$_POST['Adres'],now())";

Ik ben wat haakjes vergeten;
$sql = "INSERT INTO containers1 (Naam, Adres, datum)
values('$_POST['Naam']' , '$_POST['Adres']' ,now())";

Piet
10/04/07, 22:56
> Ik ben wat haakjes vergeten;
> $sql = "INSERT INTO containers1 (Naam, Adres, datum)
> values('$_POST['Naam']' , '$_POST['Adres']' ,now())";


Helaas Anno, dan krijg ik nog steeds de foutmelding:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting
T_STRING or T_VARIABLE or T_NUM_STRING in invoer5.php on line 22


--
Posted by news://news.nb.nu (http://www.nb.nu)

Anno
10/04/07, 22:56
"Piet" <pdk@perso.be> schreef in bericht news:4618b423@news.nb.nu...
>> Ik ben wat haakjes vergeten;
>> $sql = "INSERT INTO containers1 (Naam, Adres, datum)
>> values('$_POST['Naam']' , '$_POST['Adres']' ,now())";
>
>
> Helaas Anno, dan krijg ik nog steeds de foutmelding:
>
> Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting
> T_STRING or T_VARIABLE or T_NUM_STRING in invoer5.php on line 22

Zo dan?

$sql = "INSERT INTO containers1 (Naam, Adres, datum) values
('$_POST['Naam']','$_POST['Adres']',now())";

Anno
10/04/07, 22:56
"Anno" <maandrager_weghalen_@gmail.com> schreef in bericht
news:evacgd$82v$1@nl-news.euro.net...
>
> "Piet" <pdk@perso.be> schreef in bericht news:4618b423@news.nb.nu...
>>> Ik ben wat haakjes vergeten;
>>> $sql = "INSERT INTO containers1 (Naam, Adres, datum)
>>> values('$_POST['Naam']' , '$_POST['Adres']' ,now())";
>>
>>
>> Helaas Anno, dan krijg ik nog steeds de foutmelding:
>>
>> Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE,
>> expecting T_STRING or T_VARIABLE or T_NUM_STRING in invoer5.php on line
>> 22
>
> Zo dan?
>
> $sql = "INSERT INTO containers1 (Naam, Adres, datum) values
> ('$_POST['Naam']','$_POST['Adres']',now())";
>
>

Misschien ook nog even de spaties weghalen voor Adres en Datum

Piet
10/04/07, 22:56
>> Zo dan?
>>
>> $sql = "INSERT INTO containers1 (Naam, Adres, datum) values
>> ('$_POST['Naam']','$_POST['Adres']',now())";
>>
>>
>
> Misschien ook nog even de spaties weghalen voor Adres en Datum
>

Dan kreeg ik dezelfde foutelding.
Ik heb er nu het volgende van gemaakt en toen werd de foutmelding iets
kleiner.
we zijn op de goede weg ;-)


$sql = "INSERT INTO containers1 (Naam,Adres,Datum)
values('"($_POST['Naam'])"','"($_POST['Adres'])"',now())";


Parse error: syntax error, unexpected '(' in invoer5.php on line 22


--
Posted by news://news.nb.nu (http://www.nb.nu)

Ronald Klip
10/04/07, 22:56
Op Sun, 08 Apr 2007 11:52:27 +0200 schreef Piet:

> $sql = "INSERT INTO containers1 (Naam,Adres,Datum)
> values('"($_POST['Naam'])"','"($_POST['Adres'])"',now())";
>
> Parse error: syntax error, unexpected '(' in invoer5.php on line 22

Heren, heren, wat een gerommel ;)

$sql = "INSERT INTO containers1 (Naam, Adres, Datum)
VALUES('" . mysql_real_escape_string($_POST['Naam']) . "',
'" . mysql_real_escape_string($_POST['Adres']) . "',
NOW())";

Over je aanvankelijke script:

$datetime = date("Y-m-d H:s:i");
$query = "INSERT INTO containers1 (Datum) VALUES ($datetime)";

Dat zou moeten zijn:

$datetime = date("Y-m-d H:i:s"); // H:i:s
$query = "INSERT INTO containers1 (Datum) VALUES ('$datetime')"; // ''

--
groet, Ronald

Piet
10/04/07, 22:56
Heren, heren, wat een gerommel ;)

$sql = "INSERT INTO containers1 (Naam, Adres, Datum)
VALUES('" . mysql_real_escape_string($_POST['Naam']) . "', //regel 51
'" . mysql_real_escape_string($_POST['Adres']) . "',
//regel 52
NOW())";


Ik krijg nu de volgende foumeldingen:

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]:
Access denied for user 'ODBC'@'localhost' (using password: NO) in
C:\invoer7.php on line 51

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A
link to the server could not be established in C:\invoer7.php on line 51

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]:
Access denied for user 'ODBC'@'localhost' (using password: NO) in
C:\invoer7.php on line 52

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A
link to the server could not be established in C:\\invoer7.php on line 52


Het rare is dat nu wel de datetime verschijnt in de tabel maar de velden
Naam en Adres niet.
Als ik mysql_real_escape_string verander in $mysqli->real_escape_string dan
krijg ik de foutmelding:
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in C:\invoer7.php on
line 51


--
Posted by news://news.nb.nu (http://www.nb.nu)

Ronald Klip
10/04/07, 22:56
Op Sun, 08 Apr 2007 12:34:21 +0200 schreef Piet:

> Warning: mysql_real_escape_string() [function.mysql-real-escape-string]:
> Access denied for user 'ODBC'@'localhost' (using password: NO) in
> C:\invoer7.php on line 51
>
> Warning: mysql_real_escape_string() [function.mysql-real-escape-string]:
> A
> link to the server could not be established in C:\invoer7.php on line 51

Kennelijk is er iets mis met de mysql-extensie. Maar goed, misschien doet
dat er niet, want ik zag even over het hoofd dat je mysqli gebruikt.

> Als ik mysql_real_escape_string verander in $mysqli->real_escape_string
> dan
> krijg ik de foutmelding:
> Parse error: syntax error, unexpected T_OBJECT_OPERATOR in
> C:\invoer7.php on
> line 51

Is dat object $mysqli dan wel goed tot stand gekomen? Hoe heb je het
aangemaakt?

--
groet, Ronald

Piet
10/04/07, 22:56
> Is dat object $mysqli dan wel goed tot stand gekomen? Hoe heb je het
> aangemaakt?
>


Dit is het hele scriptje:


<html>
<head>
<title>Container invoeren</title>
</head>
<body>
<?php

$mysqli = new mysqli("localhost", "piet", "*****", "leusden",3306);

/* check connection */

if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

if ($_SERVER['REQUEST_METHOD'] == "POST") {
if (!empty($_POST['Naam']) && !empty($_POST['Adres']) ) {

$sql = "INSERT INTO containers1 (Naam, Adres, Datum)
VALUES('" . mysql_real_escape_string($_POST['Naam']) . "',
'" . mysql_real_escape_string($_POST['Adres']) . "',
NOW())";
if (!$mysqli->query($sql)) {
printf("Insert failed: %s\n", $mysqli->error);
}
}
}

/* close connection */
$mysqli->close();

?>
<form method="post" action="<?php echo $PHP_SELF ?>">
Welke aanvraag wilt u toevoegen?<br>
Naam: <input type="text" name="Naam"><br>
Adres: <input type="text" name="Adres"><br>
<input type="submit" name="knop" value="Toevoegen">
</form>

</body
</html>



--
Posted by news://news.nb.nu (http://www.nb.nu)

Ronald Klip
10/04/07, 22:56
Op Sun, 08 Apr 2007 13:44:37 +0200 schreef Piet:

> $mysqli = new mysqli("localhost", "piet", "*****", "leusden",3306);

[snip]

> $sql = "INSERT INTO containers1 (Naam, Adres, Datum)
> VALUES('" . mysql_real_escape_string($_POST['Naam']) . "',
> '" . mysql_real_escape_string($_POST['Adres']) . "',
> NOW())";

mysqli en mysql door elkaar heen gebruiken lijkt me niet raadzaam. Maar
waar die mysqli-fout die je eerder meldde dan vandaan komt, zou ik helaas
niet weten.

Je kunt er eventueel omheen werken door te kijken of in $_POST['naam'] en
$_POST['adres'] enkel tekens voorkomen die je goedvindt, en zoja
addslashes() te gebruiken om ' en " te escapen in de querystring.

--
groet, Ronald

Piet
10/04/07, 22:56
> mysqli en mysql door elkaar heen gebruiken lijkt me niet raadzaam. Maar
> waar die mysqli-fout die je eerder meldde dan vandaan komt, zou ik helaas
> niet weten.
>
> Je kunt er eventueel omheen werken door te kijken of in $_POST['naam'] en
> $_POST['adres'] enkel tekens voorkomen die je goedvindt, en zoja
> addslashes() te gebruiken om ' en " te escapen in de querystring.


Je gebruikt nu wel een heleboel moeilijke termen voor iemand die pas 2
weken met PHP bezig is ;-)

Zou jij voor mij die myqsli commando's om willen zetten in mysql
commando's?

--

Wees aardig tegen rokers, hun leven is al zo kort!

..
Posted by news://news.nb.nu (http://www.nb.nu)

Anno
10/04/07, 22:56
"Piet" <pdk@perso.be> schreef in bericht news:4618c524$1@news.nb.nu...
>
> Heren, heren, wat een gerommel ;)
>
> $sql = "INSERT INTO containers1 (Naam, Adres, Datum)
> VALUES('" . mysql_real_escape_string($_POST['Naam']) . "', //regel
> 51
> '" . mysql_real_escape_string($_POST['Adres']) . "', //regel 52
> NOW())";
>
>
> Ik krijg nu de volgende foumeldingen:
>
> Warning: mysql_real_escape_string() [function.mysql-real-escape-string]:
> Access denied for user 'ODBC'@'localhost' (using password: NO) in
> C:\invoer7.php on line 51
>
> Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A
> link to the server could not be established in C:\invoer7.php on line 51
>
> Warning: mysql_real_escape_string() [function.mysql-real-escape-string]:
> Access denied for user 'ODBC'@'localhost' (using password: NO) in
> C:\invoer7.php on line 52
>
> Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A
> link to the server could not be established in C:\\invoer7.php on line 52
>
>
> Het rare is dat nu wel de datetime verschijnt in de tabel maar de velden
> Naam en Adres niet.
> Als ik mysql_real_escape_string verander in $mysqli->real_escape_string
> dan krijg ik de foutmelding:
> Parse error: syntax error, unexpected T_OBJECT_OPERATOR in C:\invoer7.php
> on line 51
>

Ben even weggeweest, maar je krijgt hier een melding dat of je
gebruikersnaam of password niet goed is

Ronald Klip
10/04/07, 22:56
Op Sun, 08 Apr 2007 15:00:02 +0200 schreef Anno:

>> Warning: mysql_real_escape_string() [function.mysql-real-escape-string]:
>> Access denied for user 'ODBC'@'localhost' (using password: NO) in
>> C:\invoer7.php on line 51
>>
>> Warning: mysql_real_escape_string()
>> [function.mysql-real-escape-string]: A
>> link to the server could not be established in C:\invoer7.php on line 51
>
> Ben even weggeweest, maar je krijgt hier een melding dat of je
> gebruikersnaam of password niet goed is

Neen, die fouten zijn er omdat er geen verbinding met de server is. Als je
mysql_real_escape_string wilt gebruiken, moet zo'n verbinding er wel zijn.
Dus eerst mysql_connect() uitvoeren.


--
groet, Ronald

Piet
10/04/07, 22:56
> Ik heb een tabelkolom met de naam Datum en datetime als type maar hoe krijg
> ik daar de systeemdatum/tijd in?


Ik heb het voor elkaar gekregen.
Allebei hartelijk dank voor de moeite :-)



--

Wees aardig tegen rokers, hun leven is al zo kort!

..
Posted by news://news.nb.nu (http://www.nb.nu)