Php 脚本写入数据库(mysql)三个变量

Php 脚本写入数据库(mysql)三个变量,php,Php,如何向mysql数据库写入以下变量--- 消息、serviceid和subscriberNo是否使用php 代码如下所示 $myfile = fopen("message","serviceId","subscriberNo", "w") or die("Unable to open file!"); $message = "This is sample message"; $serviceId="6013"; $subscriberNo="2547682

如何向mysql数据库写入以下变量--- 消息、serviceid和subscriberNo是否使用php

代码如下所示

     $myfile = fopen("message","serviceId","subscriberNo", "w") or die("Unable to open file!");
     $message = "This is sample message";
     $serviceId="6013";
     $subscriberNo="254768254545|254956219273|254771514662|25495621145|254771514209";
     fwrite($myfile, $mesaage,$serviceId,$subscriberNo);
     fclose($myfile);   
短信的HTTP请求 //初始化请求变量

         $request = "";

    $param['username'] = ""; 
    $param['password'] = ""; 
    $param['message'] = "This is sample message.";
    $param['subscriberNo'] = "254768254545|254956219273|254771514662|25495621145|254771514209"; 
    $param['serviceId'] = "6013";



    //traverse through each member of the param array 

    foreach($param as $key=>$val) 


            { 
    //we have to urlencode the values

        $request.= $key."=".urlencode($val); 
    //append the ampersand (&) sign after each parameter/value pair

            $request.= "&";



                }
         remove the final ampersand (&) sign from the request 

            $request = substr($request, 0, strlen($request)-1); 

                echo $request;

只需将它们存储在这样的数组中

$param['username'] = ""; 
$param['password'] = ""; 
$param['message'] = "This is sample message.";
$param['subscriberNo'] = "254768254545|254956219273|254771514662|25495621145|254771514209"; 
$param['serviceId'] = "6013";
现在使用
serialize($param)
将其存储在mysql数据库中


当您想使用它时,请在从mysql获取数据后使用
反序列化($param)
您不需要手动编码,只需使用
http\u build\u query()

例如:

$param['username'] = ""; 
$param['password'] = ""; 
$param['message'] = "This is sample message.";
$param['subscriberNo'] = "254768254545|254956219273|254771514662|25495621145|254771514209"; 
$param['serviceId'] = "6013";

$query_string = http_build_query($param);
echo $query_string;

// username=&password=&message=This+is+sample+message.&subscriberNo=254768254545%7C254956219273%7C254771514662%7C25495621145%7C254771514209&serviceId=6013

unset($param['username']);
unset($param['password']);
$db = new mysqli('localhost', 'username', 'password', 'database_name');
$columns = implode(', ', array_keys($param));
$values = implode("', '", $param);
$sql = "INSERT INTO `messages` ($columns) VALUES ('$values')";
$query = $db->query($sql);

Jay,如果我想将其作为http请求发送呢?使用json_encode()将其编码为json,并使用json_decode对接收到的值1进行解码。json_编码($param)2。发送3。收到4$param=json_解码($received_值)5。使用$param@Jay,我以前没用过Json,你能给我一个代码示例吗?我是php网络编程的新手。它非常简单,有很多示例。使用
google
最终目标是什么?您需要一个数组并将其转换为查询字符串?批量sms--我希望通过kannel sms网关以http请求的形式发送3个变量—message、serviceid和subscriberNo。记住,它应该写入数据库并发送消息。啊,这确实是一个查询字符串。您使用的
fopen
错误。@Ghost,根据您的示例,它可以写入数据库吗?@Tiampa当然乐意help@Tiampa我做了一些修改,检查我对答案的编辑,如果这确实有助于你接受这个答案,左边的复选标记