Voegt geen record toe bij aanroepen van programma
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
ini_set('display_errors', 1);
error_reporting(E_ALL) ;
$gebruiker = "john";
$wachtwoord = "";
$database = "book";
$host = "localhost";
mysql_connect($host, $gebruiker, $wachtwoord) or die("Er is geen connectie met de database");
mysql_select_db($database) or die("Er is geen database geselecteerd");
$ipnum = $_SERVER['REMOTE_ADDR'];
$sql = "INSERT INTO ipnummers(ipno,datum,tijd,naam) VALUES ('$ipnum',CURDATE(),NOW(),'test')" ;
if (!mysql_query($sql))
{
echo mysql_error() ;
}
?>
ini_set('display_errors', 1);
error_reporting(E_ALL) ;
$gebruiker = "john";
$wachtwoord = "";
$database = "book";
$host = "localhost";
mysql_connect($host, $gebruiker, $wachtwoord) or die("Er is geen connectie met de database");
mysql_select_db($database) or die("Er is geen database geselecteerd");
$ipnum = $_SERVER['REMOTE_ADDR'];
$sql = "INSERT INTO ipnummers(ipno,datum,tijd,naam) VALUES ('$ipnum',CURDATE(),NOW(),'test')" ;
if (!mysql_query($sql))
{
echo mysql_error() ;
}
?>
Gewijzigd op 01/01/1970 01:00:00 door John zijlstra
msql_error() lijkt mij een tikfout, mysql_error() zal het beter doen.
Met de functie mysql_affected_rows() kun je overigens het aantal ingevoegde rijen ophalen.
Verander dit eens:
if (!mysql_query($sql))
{
echo mysql_error() ;
}
moet zijn
$sql = "INSERT INTO ipnummers(ipno,datum,tijd,naam) VALUES ('".$ipnum."','CURDATE()','NOW()','".$test."')" ;
Gewijzigd op 01/01/1970 01:00:00 door Jeroen
Jeroen schreef op 22.11.2006 12:02:
$sql = "INSERT INTO ipnummers(ipno,datum,tijd,naam) VALUES ('$ipnum',CURDATE(),NOW(),'test')" ;
moet zijn
$sql = "INSERT INTO ipnummers(ipno,datum,tijd,naam) VALUES ('".$ipnum."','CURDATE()','NOW()','".$test."')" ;
moet zijn
$sql = "INSERT INTO ipnummers(ipno,datum,tijd,naam) VALUES ('".$ipnum."','CURDATE()','NOW()','".$test."')" ;
Niet correct.
Wel correct is:
$sql = "INSERT INTO ipnummers (ipno,datum,tijd,naam) VALUES ('" . $ipnum . "', CURDATE(), NOW(), 'test')" ;
@jeroen, die 'NOW()' en 'CURDATE()' moet zonder apostroffen
`id` int(8) NOT NULL auto_increment,
`ipno` varchar(20) NOT NULL default '',
`datum` date NOT NULL default '0000-00-00',
`naam` varchar(25) NOT NULL default '',
`tijd` time NOT NULL default '00:00:00',
UNIQUE KEY `id` (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
INSERT INTO `ipnummers` VALUES (1, '000.000.00.000', '2006-11-22', 'test', '11:56:41');
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
ini_set('display_errors', 1);
error_reporting(E_ALL) ;
$gebruiker = "john";
$wachtwoord = "";
$database = "book";
$host = "localhost";
mysql_connect($host, $gebruiker, $wachtwoord) or die("Er is geen connectie met de database");
mysql_select_db($database) or die("Er is geen database geselecteerd");
$ipnum = $_SERVER['REMOTE_ADDR'];
$sql = "INSERT INTO ipnummers(ipno,datum,tijd,naam) VALUES ('$ipnum',CURDATE(),NOW(),'test')" ;
if (!mysql_query($sql))
{
echo mysql_error() ;
}
?>
ini_set('display_errors', 1);
error_reporting(E_ALL) ;
$gebruiker = "john";
$wachtwoord = "";
$database = "book";
$host = "localhost";
mysql_connect($host, $gebruiker, $wachtwoord) or die("Er is geen connectie met de database");
mysql_select_db($database) or die("Er is geen database geselecteerd");
$ipnum = $_SERVER['REMOTE_ADDR'];
$sql = "INSERT INTO ipnummers(ipno,datum,tijd,naam) VALUES ('$ipnum',CURDATE(),NOW(),'test')" ;
if (!mysql_query($sql))
{
echo mysql_error() ;
}
?>
Alleen bij verversen van het scherm wordt record toegevoegd.
Jeroen mijn regel werkt wel en de jouwe niet!! ??
Gewijzigd op 01/01/1970 01:00:00 door john zijlstra
Frank schreef op 22.11.2006 11:46:
Offtopic: Waarom sla je de datum en de tijd niet op in 1 veld? En dan neem je uiteraard het datatype DATETIME.
msql_error() lijkt mij een tikfout, mysql_error() zal het beter doen.
Met de functie mysql_affected_rows() kun je overigens het aantal ingevoegde rijen ophalen.
msql_error() lijkt mij een tikfout, mysql_error() zal het beter doen.
Met de functie mysql_affected_rows() kun je overigens het aantal ingevoegde rijen ophalen.
@John: Waarom doe je niks met deze opmerkingen?
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
in het programma heb ik opgenomen : echo mysql_affected_rows() ;
en deze geeft steeds de waarde 1 , maar alleen bij refreshen wordt er in de tabel toegevoegd.
Datum tijd moet ik nog veranderen maar boeit nu nog niet.
Gewijzigd op 01/01/1970 01:00:00 door john zijlstra
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
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
<?
ini_set('display_errors', 1);
error_reporting(E_ALL) ;
$gebruiker = "john";
$wachtwoord = "";
$database = "book";
$host = "localhost";
mysql_connect($host, $gebruiker, $wachtwoord) or die("Er is geen connectie met de database");
mysql_select_db($database) or die("Er is geen database geselecteerd");
$ipnum = $_SERVER['REMOTE_ADDR'];
$sql = "INSERT INTO ipnummers
(ipno, datum, tijd, naam)
VALUES
('" . $ipnum . "', CURDATE(), NOW(), 'test')";
$result = mysql_query($sql);
if (!$result)
{
echo 'Error: ' . mysql_error();
}
else
{
echo 'Er is toegevoegd: ' . mysql_affected_rows() . 'record(s)';
}
?>
ini_set('display_errors', 1);
error_reporting(E_ALL) ;
$gebruiker = "john";
$wachtwoord = "";
$database = "book";
$host = "localhost";
mysql_connect($host, $gebruiker, $wachtwoord) or die("Er is geen connectie met de database");
mysql_select_db($database) or die("Er is geen database geselecteerd");
$ipnum = $_SERVER['REMOTE_ADDR'];
$sql = "INSERT INTO ipnummers
(ipno, datum, tijd, naam)
VALUES
('" . $ipnum . "', CURDATE(), NOW(), 'test')";
$result = mysql_query($sql);
if (!$result)
{
echo 'Error: ' . mysql_error();
}
else
{
echo 'Er is toegevoegd: ' . mysql_affected_rows() . 'record(s)';
}
?>
Melding op scherm :
Er is toegevoegd: 1record(s)
In tabel is geen record toegevoegd.
Allleen bij F5
Melding op scherm :
Er is toegevoegd: 1record(s)
En hij voegt een record toe.
Probeer zelf
http://www.texelsoftware.nl/gen/ipnum2.php
Hier geen enkel probleem met het toevoegen van een record. F5 zorgt er voor dat er nóg een record wordt toegevoegd.
INSERT INTO `ipnummers` VALUES (6, '201.17.59.248', '2006-11-22', 'test', '12:59:30');
INSERT INTO `ipnummers` VALUES (7, '201.17.59.248', '2006-11-22', 'test', '12:59:33');
INSERT INTO `ipnummers` VALUES (8, '201.17.59.248', '2006-11-22', 'test', '12:59:36');
INSERT INTO `ipnummers` VALUES (9, '212.187.73.58', '2006-11-22', 'test', '13:01:55');
INSERT INTO `ipnummers` VALUES (10, '212.187.73.58', '2006-11-22', 'test', '13:01:57');
INSERT INTO `ipnummers` VALUES (11, '212.187.73.58', '2006-11-22', 'test', '13:01:57');
INSERT INTO `ipnummers` VALUES (12, '212.187.73.58', '2006-11-22', 'test', '13:01:58');
INSERT INTO `ipnummers` VALUES (13, '212.187.73.58', '2006-11-22', 'test', '13:01:58');
INSERT INTO `ipnummers` VALUES (14, '212.187.73.58', '2006-11-22', 'test', '13:01:58');
INSERT INTO `ipnummers` VALUES (15, '212.187.73.58', '2006-11-22', 'test', '13:01:58');
INSERT INTO `ipnummers` VALUES (16, '212.187.73.58', '2006-11-22', 'test', '13:01:58');
INSERT INTO `ipnummers` VALUES (17, '212.187.73.58', '2006-11-22', 'test', '13:01:58');
INSERT INTO `ipnummers` VALUES (18, '212.187.73.58', '2006-11-22', 'test', '13:01:59');
INSERT INTO `ipnummers` VALUES (19, '212.187.73.58', '2006-11-22', 'test', '13:02:02');
INSERT INTO `ipnummers` VALUES (20, '62.163.197.113', '2006-11-22', 'test', '13:04:08');
INSERT INTO `ipnummers` VALUES (21, '62.163.197.113', '2006-11-22', 'test', '13:04:10');
INSERT INTO `ipnummers` VALUES (22, '62.163.197.113', '2006-11-22', 'test', '13:04:11');
INSERT INTO `ipnummers` VALUES (23, '82.151.35.113', '2006-11-22', 'test', '13:04:32');
Blijkt te werken.
Bedankt voor jullie tijd.
ontopic:
om te voorkomen dat er meerdere malen wordt gepost bouw een soort van beveiliging in waarbij hij niet post dit kan door bijv terug te redirecten naar de oorspronkelijke pagina.