簡體   English   中英

PHP沒有插入MySQL數據庫

[英]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);

您的列和值不匹配。 您正在嘗試將8個值插入9列。

具體來說,您似乎缺少一個calendarid

其次,你的字符串需要用引號括起來。

最后,您很容易受到SQL注入攻擊。 考慮使用預准備語句。

你必須用單引號或雙引號包裝你的字符串並確保,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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM