donglianglu8136 2015-11-28 06:34
浏览 70
已采纳

mysqli_stmt_execute不向数据库插入值

<?php
$dbhost="00webhost.com";
$dbuser="a55826qwqw";
$dbpass="subseasdasd";
$dbname="asdasdas";
$con=mysqli_connect($dbhost,$dbuser,$dbpass,$dbname);
$name=$_POST["name"];
$username=$_POST["username"];
$phone=$_POST["phone"];
$mail=$_POST["mail"];
$password=$_POST["password"];
$statement=mysqli_prepare($con,"INSERT INTO mandi(nAme,uSername,pHoneno,mAil,pAssword) VALUES($name,$username,$phone,$mail,$password)") or die(mysqli_error($con));
mysqli_stmt_execute($statement);
mysqli_stmt_close($statement);
mysqli_close($con);

the values are taken from android i.e name ,username and others. but When i give strings instead of $name,$username etc it inserts . please tell me where iam wrong.

the above same works fine for this statement

$statement=mysqli_prepare($con,"INSERT INTO   mandi(nAme,uSername,pHoneno,mAil,pAssword) VALUES('me','user',123,'mailw','user')");

The android part to send data to server is

 ArrayList<NameValuePair>dataToSend=new ArrayList<>();
        dataToSend.add(new BasicNameValuePair("name",user.name));
        dataToSend.add(new BasicNameValuePair("username",user.username));
        dataToSend.add(new BasicNameValuePair("phone",user.phone+""));
        dataToSend.add(new BasicNameValuePair("mail",user.mail));
        dataToSend.add(new BasicNameValuePair("password", user.password));


       HttpParams httpParams=new BasicHttpParams();
       HttpConnectionParams.setConnectionTimeout(httpParams, CONNECTION_TIMEOUT);
      HttpConnectionParams.setSoTimeout(httpParams, CONNECTION_TIMEOUT);

        HttpClient client=new DefaultHttpClient();
        HttpPost post=new HttpPost(SERVER_ADDRESS+"Register.php");
        //Log.d("address",SERVER_ADDRESS+"Register.php");
        try{
            post.setEntity(new UrlEncodedFormEntity(dataToSend));
            client.execute(post);
        }catch (Exception e){
            e.printStackTrace();
        }
  • 写回答

1条回答 默认 最新

  • doushi3202 2015-11-28 06:53
    关注

    Here is a snippet I wrote that I use for my basic bind_param functions.

        //  Assigned key            
    $var = ??
    
    
                    // Insert the new user into the database 
        $sql = "
            INSERT INTO table (
    column,...,...
         )
            VALUES (
            ?,..,..,)";
    
           $insert_stmt = $mysqli->prepare($sql);
    
            // Insert the new user into the database
            if ($insert_stmt)
            {
                $insert_stmt->bind_param('ss',$var, $var);
    
                // Execute the prepared query.
                if (! $insert_stmt->execute()) {
                   echo 'error';
                }
            }
            }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件