使用php表单字母更新失败,数字成功

时间:2015-04-23 17:15:35

标签: php html mysql

在MySQL基础中创建了新专栏,varchar(150) utf8_general_ci并使webform轻松输入数据。当我使用数字然后表单工作,但当我使用任何字母然后给出错误:Warning: mysqli_error() expects exactly 1 parameter, 0 given in

形成这样的东西:

$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 个答案:

答案 0 :(得分:1)

单引号变量。

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

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

当提交的变量始终为数字时,使用intval()将其设为零(如果为空或非数字)。

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

这将防止SQL错误并确定该值是数字。