我要发布到我的localhosted MySQL数据库中的表,但是当我运行脚本时,页面保持白色,但表中没有任何内容。我将添加我的代码以便澄清。我正在使用USBWebserver来托管apache和MySQL服务器。
<?php
//connectie leggen met input data
//$con =
//variablen input invullen (bijv $gebruikeragenda = $_POST['gebruikeragenda'];
$gebruikeragenda = 'Testafspraak'; //hierin specifieren op welke account dit evenement geplaatst moet worden
$tegebruikenagenda = ''; //hierin specifieren we de agenda waarin het evenement geplaatst moet worden
$begintijd = '2014-01-13 15:30:00'; //begintijd specifieren
$eindtijd = '2014-01-13 16:30:00'; //eindtijd specifieren
$medeaanwezige = ''; //emailadressen van andere aanwezige tijdens dit evenement
//connectie leggen met MySQL(aanpasbaarnaar SQLite indien nodig)
$con=mysqli_connect("localhost:3307","root","usbw","baikal");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
//input van hierboven ombouwen en in de database van Baikal bouwen
$calendardata = $gebruikeragenda;
$uri = 'default';
$lastmodified = $begintijd; //laatst gemodificeerd
$calenderid = '1'; //het id van de agenda waarbij de event hoort
$etag = 'niks';
$size = '200'; //grootte
$componenttype = ''; //wordt er gebruik gemaakt van een notificatie, voer hier dan VTODO in
$firstoccurence = $begintijd; //begintijd van evenement
$lastoccurence = $eindtijd; //eindtijd van evenement
//gegevens in de database plaatsen
mysqli_query($con,"INSERT INTO calendarobjects (calendardata, uri, calendarid, lastmodified, etag, size, componenttype, firstoccurence, lastoccurence) VALUES (".$calendardata.", ".$uri.",
".$lastmodified.",".$etag.",".$size.",".$componenttype.",".$firstoccurence.",".$lastoccurence.")");
mysqli_close($con);
答案 0 :(得分:2)
答案 1 :(得分:0)
你必须用单引号或双引号包装你的字符串,并确保params的数量与值的数量匹配..(calendarid
缺失..)
mysqli_query($con,"INSERT INTO calendarobjects
(calendardata, uri, calendarid, lastmodified, etag, size, componenttype, firstoccurence, lastoccurence)
VALUES
('$calendardata', '$uri', 'missing calendarid', '$lastmodified', '$etag','$size','$componenttype','$firstoccurence','$lastoccurence')");
mysqli_close($con);
顺便说一下..您的代码很容易受到SQL注入攻击,因此您必须使用real_escape_string
(link)或更好prepared statements!
答案 2 :(得分:0)
您需要为值使用引号。
您有9个属性和8个值。您在查询中遗漏了一个值。在查询中输入另一个值 试试这个:
<?php
//connectie leggen met input data
//$con =
//variablen input invullen (bijv $gebruikeragenda = $_POST['gebruikeragenda'];
$gebruikeragenda = 'Testafspraak'; //hierin specifieren op welke account dit evenement geplaatst moet worden
$tegebruikenagenda = ''; //hierin specifieren we de agenda waarin het evenement geplaatst moet worden
$begintijd = '2014-01-13 15:30:00'; //begintijd specifieren
$eindtijd = '2014-01-13 16:30:00'; //eindtijd specifieren
$medeaanwezige = ''; //emailadressen van andere aanwezige tijdens dit evenement
//connectie leggen met MySQL(aanpasbaarnaar SQLite indien nodig)
$con=mysqli_connect("localhost:3307","root","usbw","baikal");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
//input van hierboven ombouwen en in de database van Baikal bouwen
$calendardata = $gebruikeragenda;
$uri = 'default';
$lastmodified = $begintijd; //laatst gemodificeerd
$calenderid = '1'; //het id van de agenda waarbij de event hoort
$etag = 'niks';
$size = '200'; //grootte
$componenttype = ''; //wordt er gebruik gemaakt van een notificatie, voer hier dan VTODO in
$firstoccurence = $begintijd; //begintijd van evenement
$lastoccurence = $eindtijd; //eindtijd van evenement
$sql = "INSERT INTO calendarobjects (calendardata, uri, calendarid, lastmodified, etag, size, componenttype, firstoccurence, lastoccurence) VALUES ('$calendardata', '$uri',
'$lastmodified','$etag','$size','$componenttype','$firstoccurence','$lastoccurence')";
//gegevens in de database plaatsen
if( mysqli_query($con,$sql)){
echo "successully inserted";
}else{
echo "something wrong";
}
mysqli_close($con);