2015-04-23 59 views
-1

在MySQL數據庫中創建新列,varchar(150)utf8_general_ci並使webform輕鬆輸入數據。當我使用數字再形成的作品,但是當我使用任何字母,然後給出了一個錯誤:Warning: mysqli_error() expects exactly 1 parameter, 0 given in使用php格式化信件更新失敗,數字成功

形式是這樣的:

$con = mysqli_connect("localhost","user","pass","db"); 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 


    $liige_id = $_POST['liige_id']; 
     $wplink = $_POST['wplink']; 

    $sql = "UPDATE liige_v ". 
      "SET wplink = $wplink ". 
      "WHERE liige_id = $liige_id" ; 

    $retval = mysqli_query($con, $sql); 

    if(! $retval) 
    { 
     die('Could not update data: ' . mysqli_error()); 
    } 
    echo "Sisestasid edukalt selle liikme info\n"; 
    mysqli_close($con); 
    } 
    else 
    { 
?> 

<form method="post" action="<?php $_PHP_SELF ?>"> 
<table width="400" border="0" cellspacing="1" cellpadding="2"> 
<tr> 
<td width="5">Liikme ID</td> 
<td><input name="liige_id" type="text" id="liige_id"></td> 
</tr> 
<tr> 
<td width="75">WordPress link </td> 
<td><input name="wplink" type="text" id="wplink"></td> 
</tr> 
<tr> 
<td width="100"> </td> 
<td> </td> 
</tr> 
<tr> 
<td width="100"> </td> 
<td> 
<input name="update" type="submit" id="update" value="Uuenda" 
+1

將單引號中的MySql查詢值括起來。即:'wplink ='$ wplink'' –

+0

謝謝@PedroLobito單引號是關鍵;) – Margus

回答

1

單引號的變量。

整數不需要引用,非整數值需要引用。

$sql = "UPDATE liige_v ". 
      "SET wplink = '$wplink' ". 
      "WHERE liige_id = '$liige_id' " ; 

當提交的變量始終是數字使用INTVAL(),使其零,如果爲空或非數字。

$number = intval($_POST['number']); 

這將防止SQL錯誤並限定值爲數字。

+0

謝謝@Misunderstood單引號幫助我;) – Margus