Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何确保从Java传递到MySQLI时特殊字符保持符号化_Java_Php_Android_Mysqli_Wildcard - Fatal编程技术网

如何确保从Java传递到MySQLI时特殊字符保持符号化

如何确保从Java传递到MySQLI时特殊字符保持符号化,java,php,android,mysqli,wildcard,Java,Php,Android,Mysqli,Wildcard,使用PHP文件和MySQLI,数据从Android应用程序传递到MySQL数据库。但是,似乎输入的某些字符(如“”和“&”)会导致输入错误。我已经能够使用Java替换函数来修复“”,但我确信有许多特殊字符会导致类似的错误。例如:www.example.com?Input1=测试和输入 我想知道是否有修复程序可以阻止MySQLI以这种方式解释输入 另外,如果有帮助,这是我的PHP代码: <?php //Open a new connection to the MySQL server $my

使用PHP文件和MySQLI,数据从Android应用程序传递到MySQL数据库。但是,似乎输入的某些字符(如“”和“&”)会导致输入错误。我已经能够使用Java替换函数来修复“”,但我确信有许多特殊字符会导致类似的错误。例如:www.example.com?Input1=测试和输入

我想知道是否有修复程序可以阻止MySQLI以这种方式解释输入

另外,如果有帮助,这是我的PHP代码:

<?php
//Open a new connection to the MySQL server
$mysqli = new mysqli('localhost','createyo_james','password','createyo_TestDatabase');

//Output any connection error
if ($mysqli->connect_error) {
    die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}

//values to be inserted in database table
$NewsStory = $_GET["NewsStory"];
$Summary1 = $_GET["Summary1"];
$Summary2 = $_GET["Summary2"];
$Summary3 = $_GET["Summary3"];
$Picture1URL = $_GET["Picture1URL"];
$Picture2URL = $_GET["Picture2URL"];
$Picture3URL = $_GET["Picture3URL"];
$Picture4URL = $_GET["Picture4URL"];
$Picture5URL = $_GET["Picture5URL"];
$Tags = $_GET["Tags"];
$Body = $_GET["Body"];
$Sources = $_GET["Sources"];

var_dump($_GET["NewsStory"]);


$query = "INSERT INTO Articles (NewsStory, Summary1, Summary2, Summary3, Picture1URL, Picture2URL, Picture3URL, Picture4URL, Picture5URL, Tags, Body, Sources) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$statement = $mysqli->prepare($query);
var_dump($query);
//bind parameters for markers, where (s = string, i = integer, d = double,  b = blob)
$statement->bind_param('ssssssssssss', $NewsStory, $Summary1, $Summary2, $Summary3, $Picture1URL, $Picture2URL, $Picture3URL, $Picture4URL, $Picture5URL, $Tags, $Body, $Sources);

if($statement->execute()){
    print 'Success! ID of last inserted record is : ' .$statement->insert_id .'<br />'; 
}else{
    die('Error : ('. $mysqli->errno .') '. $mysqli->error);
}
$statement->close();

?>

您必须正确地用java编码字符串,因为例如&是url中下一个参数的“保留”字符

她很好地回答了用java进行URL编码的问题

可能与@AlexanderO'Mara重复,但这并不是一个真正的“死”链接。只有10k+会员(仍然)可以看到它。另外,当我发布它时,它是“世界可见的”。在我发布后,OP删除了这个问题。谢谢,这正是我想要的:)