[英]how to perform a mysqli multi query
我似乎无法弄清楚我的mysqli多查询出了什么问题。 当我运行它时,在php端没有任何错误,但是在Xcode中却出现了致命错误,并且崩溃了。 这是我在php端用来执行mysqli多查询的代码:
$sql2 = "SELECT * FROM database.database WHERE SenderID='" . $userUsername . "'; ";
$sql2 .= "SELECT * FROM database.database WHERE Username='" . $userUsername . "'; ";
$sql2 .= "SELECT * FROM database.database WHERE SenderID='" . $userUsername . "'; ";
// Execute multi query
if (mysqli_multi_query($conn,$sql2))
{
do
{
// Store first result set
if ($result2=mysqli_store_result($conn)) {
// Fetch one and one row
while ($row=mysqli_fetch_row($result2))
{
$activity[] = $row;
}
// Free result set
mysqli_free_result($result2);
}
}
while (mysqli_next_result($conn));
}
就像我之前说过的,我没有从此脚本收到任何错误消息,但是在Xcode中,我在此代码中收到错误:
func retrieveActivity(latestMessage:String) {
self.caseLoadBool = false
let request = NSMutableURLRequest(URL: NSURL(string: "http://website/info.php")!)
request.HTTPMethod = "POST"
let postString = "string=\(self.userUsername)"
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
print("error=\(error)", terminator: "")
return
}
// Convert the json data into an array
/* ERROR ON THIS LINE */ let dataArray:[AnyObject] = (try! NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers)) as! [AnyObject]
我不确定我在做错什么相同的Xcode代码在处理其他单个mysqli查询时对我有用,我不确定这是一个mysqi多查询的事实是否与此有关。 任何帮助或建议将是超级骗子赞赏! 谢谢!
更新:错误代码:致命错误:'尝试! 表达式意外引发错误:Error Domain = NSCocoaErrorDomain代码= 3840“无值”。 UserInfo = {NSDebugDescription =无值。}:文件/Library/Caches/com.apple.xbs/Sources/swiftlang_PONDEROSA/swiftlang_PONDEROSA-700.1.101.6/src/swift/stdlib/public/core/ErrorType.swift,第50行
弄清楚了! 我通过不将json编码的数据发送回Xcode犯了一个愚蠢的简单错误。 我只需要添加:
echo json_encode($activity);
在多查询过程结束时
// Execute multi query
if (mysqli_multi_query($conn,$sql2))
{
do
{
// Store first result set
if ($result2=mysqli_store_result($conn)) {
// Fetch one and one row
while ($row=mysqli_fetch_row($result2))
{
$activity[] = $row;
}
// Free result set
mysqli_free_result($result2);
}
}
while (mysqli_next_result($conn));
}
echo json_encode($activity);
愚蠢的错误,但生病了,以防万一有人发现它有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.