[英]PHP not inserting into MySQL db
我要發布到我的本地主機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);
你必須用單引號或雙引號包裝你的字符串並確保,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
(鏈接)或更好的預處理語句 !
您需要為值使用引號。
您有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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.