ar.php的浏览器输出
UPDATE playerstats_14_15 SET friendly_apps=friendly_apps+1 WHERE first_name='Chris' AND sur_name='Dunn';
UPDATE playerstats_14_15 SET friendly_apps=friendly_apps+1 WHERE first_name='Richard' AND sur_name='Tait';
UPDATE playerstats_14_15 SET friendly_apps=friendly_apps+1 WHERE first_name='Josh' AND sur_name='Coulson';
UPDATE playerstats_14_15 SET friendly_apps=friendly_apps+1 WHERE first_name='Tom' AND sur_name='Bonner';
UPDATE playerstats_14_15 SET friendly_apps=friendly_apps+1, friendly_assists=friendly_assists+1 WHERE first_name='Greg' AND sur_name='Taylor';
UPDATE playerstats_14_15 SET friendly_apps=friendly_apps+1, friendly_assists=friendly_assists+1 WHERE first_name='Ryan' AND sur_name='Donaldson';
UPDATE playerstats_14_15 SET friendly_apps=friendly_apps+1 WHERE first_name='Tom' AND sur_name='Champion';
UPDATE playerstats_14_15 SET friendly_apps=friendly_apps+1, friendly_yellows=friendly_yellows+1 WHERE first_name='Issaga' AND sur_name='Diallo';
UPDATE playerstats_14_15 SET friendly_apps=friendly_apps+1 WHERE first_name='Harrison' AND sur_name='Dunk';
UPDATE playerstats_14_15 SET friendly_apps=friendly_apps+1 WHERE first_name='Adam' AND sur_name='Cunnington';
UPDATE playerstats_14_15 SET friendly_apps=friendly_apps+1, friendly_goals=friendly_goals+2 WHERE first_name='Kwesi' AND sur_name='Appiah';
conn.php
<?php
//localhost settingd
$server = "localhost";
$username = "root";
$password = "";
$database = "stats";
//deployment settings
// $server = "localhost";
// $username = "cufcstat_admin";
// $password = "";
// $database = "cufcstat_stats";
$mysqli = new mysqli($server, $username, $password, $database);
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
?>
ar.php
error_reporting(E_ALL);
ini_set('display_errors', 1);
session_start();
require 'conn.php';
$season1 = explode("/", $_SESSION['season']);
$table = "results_" . $season1[0] . "_" . $season1[1];
$table2 = "fixtures_" . $season1[0] . "_" . $season1[1];
$fixture = explode("/", $_SESSION['oppo']);
$resultDate = $fixture[0];
$resultOppo = $fixture[1];
$resultType = "";
$resultComp = "";
$resultPlace = "";
$resultGoalsfor = $_SESSION['goalsfor'];
$resultGoalsagainst = $_SESSION['goalsagainst'];
$resultAtt = $_SESSION['att'];
$resultUnitedPlayer = array();
$resultOppoPlayer = array();
$resultUnitedSub = array();
$resultOppoSub = array();
$sqlStatements = array();
$sql="SELECT type, competition, place FROM " . $table2 . " WHERE date='" . $resultDate . "' AND opposition='" . $resultOppo . "'";
$stmt = $mysqli->prepare($sql);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($type, $competition, $place);
while ($stmt->fetch()) {
$resultType = $type;
$resultComp = $competition;
$resultPlace = $place;
}
$stmt->close();
//CUFC Players (number.firstname.surname.goals.yellow?.red?) (01.kai.day.34/54.y.n)
for($i = 1; $i < 12; $i++) {
$player = explode("/", $_SESSION['cufc_player_'.$i]);
$str = $player[0] . "." . $player[1] . "." . $player[2];
$playerSQL = "";
$playerSQL = "UPDATE playerstats_".$season1[0]."_".$season1[1]." SET ".$resultType."_apps=".$resultType."_apps+1";
//Check for goals
$goals = "0";
$numGoals = 0;
$multi = "0";
for($j = 1; $j < $resultGoalsfor + 1; $j++) {
if($player[0] . "/" . $player[1] . "/" . $player[2] == $_SESSION['cufc_goalscorer_'.$j]) {
$goals = "1";
$numGoals++;
if($multi == "0") {
$str = $str . "." . $_GET['cufc_goalscorer_'.$j.'_min'];
$multi = "1";
} else {
$str = $str . "/" .$_GET['cufc_goalscorer_'.$j.'_min'];
}
}
}
if($goals == "0") {
$str = $str . ".";
} else {
$playerSQL = $playerSQL . ", " .$resultType."_goals=".$resultType."_goals+".$numGoals;
}
if($_SESSION['cufc_player_'.$i.'_assist'] != "0") {
$playerSQL = $playerSQL . ", " .$resultType."_assists=".$resultType."_assists+".$_SESSION['cufc_player_'.$i.'_assist'];
}
//Check for yellow
if(isset($_SESSION['cufc_player_'.$i.'_yellow'])) {
if($_SESSION['cufc_player_'.$i.'_yellow'] == "1") {
$str = $str . ".y";
$playerSQL = $playerSQL . ", " .$resultType."_yellows=".$resultType."_yellows+1";
} else {
$str = $str . ".n";
}
} else {
$str = $str . ".n";
}
//Check for red
if(isset($_SESSION['cufc_player_'.$i.'_red'])) {
if($_SESSION['cufc_player_'.$i.'_red'] == "1") {
$str = $str . ".y";
$playerSQL = $playerSQL . ", " .$resultType."_reds=".$resultType."_reds+1 WHERE first_name='".$player[1]."' AND sur_name='".$player[2]."'";
} else {
$str = $str . ".n";
$playerSQL = $playerSQL . " WHERE first_name='".$player[1]."' AND sur_name='".$player[2]."';";
}
} else {
$str = $str . ".n";
}
$resultUnitedPlayer[$i] = $str;
array_push($sqlStatements, $playerSQL);
}
//Oppo Players (number.firstname.surname.goals.yellow?.red?) (01.kai.day.34/54.y.n)
for($i = 1; $i < 12; $i++) {
$str = $_SESSION['oppo_player_'.$i.'_number'] . "." . $_SESSION['oppo_player_'.$i.'_firstname'] . "." . $_SESSION['oppo_player_'.$i.'_surname'];
//Check for goals
$goals = "0";
$multi = "0";
for($j = 1; $j < $resultGoalsagainst + 1; $j++) {
if($_SESSION['oppo_player_'.$i.'_firstname'] . "." . $_SESSION['oppo_player_'.$i.'_surname'] == $_SESSION['oppo_goalscorer_'.$j.'_firstname'] . "." . $_SESSION['oppo_goalscorer_'.$j.'_surname']) {
$goals = "1";
if($multi == "0") {
$str = $str . "." . $_GET['oppo_goalscorer_'.$j.'_min'];
$multi = "1";
} else {
$str = $str . "/" .$_GET['oppo_goalscorer_'.$j.'_min'];
}
}
}
if($goals == "0") {
$str = $str . ".";
}
//Check for yellow
if(isset($_SESSION['oppo_player_'.$i.'_yellow'])) {
if($_SESSION['oppo_player_'.$i.'_yellow'] == "1") {
$str = $str . ".y";
} else {
$str = $str . ".n";
}
} else {
$str = $str . ".n";
}
//Check for red
if(isset($_SESSION['oppo_player_'.$i.'_red'])) {
if($_SESSION['oppo_player_'.$i.'_red'] == "1") {
$str = $str . ".y";
} else {
$str = $str . ".n";
}
} else {
$str = $str . ".n";
}
$resultOppoPlayer[$i] = $str;
}
//CUFC Subs (number.firstname.surname.goals.yellow?.red?.sub?) (01.kai.day.34/54.y.n.80/Cunnington)
for($i = 1; $i < 12; $i++) {
if(isset($_SESSION['cufc_sub_'.$i]) && $_SESSION['cufc_sub_'.$i] != "-") {
$player = explode("/", $_SESSION['cufc_sub_'.$i]);
$str = $player[0] . "." . $player[1] . "." . $player[2];
$playerSQL = "";
if($_SESSION['cufc_sub_'.$i.'_replaced'] == "1") {
$playerSQL = "UPDATE playerstats_".$season1[0]."_".$season1[1]." SET ".$resultType."_subapps=".$resultType."_subapps+1";
}
//Check for goals
$goals = "0";
$numGoals = 0;
$multi = "0";
for($j = 1; $j < $resultGoalsfor + 1; $j++) {
if($player[0] . "/" . $player[1] . "/" . $player[2] == $_SESSION['cufc_goalscorer_'.$j]) {
$goals = "1";
$numGoals++;
if($multi == "0") {
$str = $str . "." . $_GET['cufc_goalscorer_'.$j.'_min'];
$multi = "1";
} else {
$str = $str . "/" .$_GET['cufc_goalscorer_'.$j.'_min'];
}
}
}
if($goals == "0") {
$str = $str . ".";
} else {
$playerSQL = $playerSQL . ", " .$resultType."_goals=".$resultType."_goals+".$numGoals;
}
if($_SESSION['cufc_sub_'.$i.'_assist'] != "0") {
$playerSQL = $playerSQL . ", " .$resultType."_assists=".$resultType."_assists+".$_SESSION['cufc_sub_'.$i.'_assist'];
}
//Check for yellow
if(isset($_SESSION['cufc_sub_'.$i.'_yellow'])) {
if($_SESSION['cufc_sub_'.$i.'_yellow'] == "1") {
$str = $str . ".y";
$playerSQL = $playerSQL . ", " .$resultType."_yellows=".$resultType."_yellows+1";
} else {
$str = $str . ".n";
}
} else {
$str = $str . ".n";
}
//Check for red
if(isset($_SESSION['cufc_sub_'.$i.'_red'])) {
if($_SESSION['cufc_sub_'.$i.'_red'] == "1") {
$str = $str . ".y";
$playerSQL = $playerSQL . ", " .$resultType."_reds=".$resultType."_reds+1";
} else {
$str = $str . ".n";
}
} else {
$str = $str . ".n";
}
if($_SESSION['cufc_sub_'.$i.'_replaced'] == "1") {
$playerSQL = $playerSQL . " WHERE first_name='".$player[1]."' AND sur_name='".$player[2]."';";
}
//Did come on?
if($_SESSION['cufc_sub_'.$i.'_replaced'] == "1") {
$replacement = explode("/", $_SESSION['cufc_sub_'.$i.'_replacement']);
$str = $str . "." . $_SESSION['cufc_sub_'.$i.'_replacedTime'] . "/" . $replacement[2];
} else {
$str = $str . ".n";
}
array_push($sqlStatements, $playerSQL);
} else {
$str = "";
$playerSQL = "";
}
$resultUnitedSub[$i] = $str;
}
//Oppo Subs (number.firstname.surname.goals.yellow?.red?.sub?) (01.kai.day.34/54.y.n.80/Cunnington)
for($i = 1; $i < 12; $i++) {
if($_SESSION['oppo_sub_'.$i.'_number'] != null) {
$str = $_SESSION['oppo_sub_'.$i.'_number'] . "." . $_SESSION['oppo_sub_'.$i.'_firstname'] . "." . $_SESSION['oppo_sub_'.$i.'_surname'];
//Check for goals
$goals = "0";
$multi = "0";
for($j = 1; $j < $resultGoalsagainst + 1; $j++) {
if($_SESSION['oppo_sub_'.$i.'_firstname'] . "." . $_SESSION['oppo_sub_'.$i.'_surname'] == $_SESSION['oppo_goalscorer_'.$j.'_firstname'] . "." . $_SESSION['oppo_goalscorer_'.$j.'_surname']) {
$goals = "1";
if($multi == "0") {
$str = $str . "." . $_GET['oppo_goalscorer_'.$j.'_min'];
$multi = "1";
} else {
$str = $str . "/" .$_GET['oppo_goalscorer_'.$j.'_min'];
}
}
}
if($goals == "0") {
$str = $str . ".";
}
//Check for yellow
if(isset($_SESSION['oppo_sub_'.$i.'_yellow'])) {
if($_SESSION['oppo_sub_'.$i.'_yellow'] == "1") {
$str = $str . ".y";
} else {
$str = $str . ".n";
}
} else {
$str = $str . ".n";
}
//Check for red
if(isset($_SESSION['oppo_sub_'.$i.'_red'])) {
if($_SESSION['oppo_sub_'.$i.'_red'] == "1") {
$str = $str . ".y";
} else {
$str = $str . ".n";
}
} else {
$str = $str . ".n";
}
//Did come on?
if($_SESSION['oppo_sub_'.$i.'_replaced'] == "1") {
$str = $str . "." . $_SESSION['oppo_sub_'.$i.'_replacedTime'] . "/" . $_SESSION['oppo_sub_'.$i.'_replacement'];
} else {
$str = $str . ".n";
}
} else {
$str = "";
}
$resultOppoSub[$i] = $str;
}
$all_query_ok=true;
$sql = "INSERT INTO " . $table . " VALUES ('".$resultDate."', '".$resultOppo."', '".$resultType."', '".$resultComp."', '".$resultPlace."', '".$resultGoalsfor."', '".$resultGoalsagainst."', '".$resultAtt."', '".$resultUnitedPlayer[1]."', '".$resultUnitedPlayer[2]."', '".$resultUnitedPlayer[3]."', '".$resultUnitedPlayer[4]."', '".$resultUnitedPlayer[5]."', '".$resultUnitedPlayer[6]."', '".$resultUnitedPlayer[7]."', '".$resultUnitedPlayer[8]."', '".$resultUnitedPlayer[9]."', '".$resultUnitedPlayer[10]."', '".$resultUnitedPlayer[11]."', '".$resultUnitedSub[1]."', '".$resultUnitedSub[2]."', '".$resultUnitedSub[3]."', '".$resultUnitedSub[4]."', '".$resultUnitedSub[5]."', '".$resultUnitedSub[6]."', '".$resultUnitedSub[7]."', '".$resultUnitedSub[8]."', '".$resultUnitedSub[9]."', '".$resultUnitedSub[10]."', '".$resultUnitedSub[11]."', '".$resultOppoPlayer[1]."', '".$resultOppoPlayer[2]."', '".$resultOppoPlayer[3]."', '".$resultOppoPlayer[4]."', '".$resultOppoPlayer[5]."', '".$resultOppoPlayer[6]."', '".$resultOppoPlayer[7]."', '".$resultOppoPlayer[8]."', '".$resultOppoPlayer[9]."', '".$resultOppoPlayer[10]."', '".$resultOppoPlayer[11]."', '".$resultOppoSub[1]."', '".$resultOppoSub[2]."', '".$resultOppoSub[3]."', '".$resultOppoSub[4]."', '".$resultOppoSub[5]."', '".$resultOppoSub[6]."', '".$resultOppoSub[7]."', '".$resultOppoSub[8]."', '".$resultOppoSub[9]."', '".$resultOppoSub[10]."', '".$resultOppoSub[11]."')";
array_push($sqlStatements, $sql);
$sql = "DELETE FROM " . $table2 . " WHERE date='".$resultDate."' AND opposition='".$resultOppo."'";
array_push($sqlStatements, $sql);
$sql = "INSERT INTO latest_news VALUES (now(), 'New Result Added', 'Cambridge United ".$resultGoalsfor." - ".$resultGoalsagainst." ".$resultOppo."', 'match_result.php?season=".$_SESSION['season']."&date=".$resultDate."')";
array_push($sqlStatements, $sql);
try {
$mysqli->autocommit(FALSE);
for ($i = 0; $i < count($sqlStatements); $i++) {
$stmt = $mysqli->prepare($sqlStatements[$i]);
echo $sqlStatements[$i] . "</br>";
$stmt->execute();
}
$mysqli->commit();
} catch(Exception $e) {
$mysqli->rollback();
$all_query_ok = false;
$reason = $e;
}
$mysqli->close();
最后一个查询失败,但所有其他查询都没问题。
错误是:
[08-Aug-2014 14:14:05 Europe/London] PHP Fatal error: Call to a member
function execute() on a non-object in /home/cufcstat/public_html/admin/ar.php
on line 317
我无法看到问题,有人可以吗? SQL会停止执行代码,但对我来说SQL看起来是正确的吗?
对于凌乱的代码感到抱歉......
答案 0 :(得分:1)
您在递增之前检查$i
,因此您正在尝试准备一份不存在的声明
++$i; //returns the value of $i then increments it
$i++; //increments then returns
答案 1 :(得分:0)
问题是当骑车到我正在做的下一个玩家时停止重复SQL语句$ playerSQl =“”;但这是错误的,就好像一个sub没有出现它在$ sqlStatements中插入“”并尝试将该空间作为SQL查询执行。
相反,更改为$ playerSQL = null,并在插入数据库之前进行了检查以确保不是空值。