我的SQLi(没有选择数据库)

时间:2015-06-02 04:27:37

标签: php mysqli connect

在阅读了很多人的反馈意见后说我应该使用MySQLi而不是MySQL我试图改变我的连接。但是我想我现在把它混合起来了#34;没有选择数据库"显示:

<?php

//mysql_connect('localhost', 'root', 'secret');
//mysql_select_db('edgeserver');

$mysqli_connection = new MySQLi('localhost', 'root', 'secret', 'edgeserver');
if ($mysqli_connection->connect_error) {
   echo "Not connected, error: " . $mysqli_connection->connect_error;
}
else {
   echo "Connected.";
}

$sql = "update SessionLogs
set BetStatusID = 2
where resultID = 0
and eventstatusid <> 2
and betstatusid <> 2
limit 1
";

$sql2 = "update SessionLogs
set EventStatusID = 2
where resultID = 0
and eventstatusid <> 2
and betstatusid <> 2
limit 1
";

$sql3 = "SELECT SessionLogs.sessionid, SessionLogs.eventid, Result.Winner, Odds.OddsA, 
Odds.OddsB, EventStatus.EventStatus, BetStatus.BetStatus, EventInfo.Title, 
EventInfo.Opponent1, EventInfo.Opponent2
FROM  SessionLogs INNER JOIN
Result ON SessionLogs.resultid = Result.ResultID INNER JOIN
Odds ON Result.OddsID = Odds.OddsID INNER JOIN
EventStatus ON SessionLogs.eventstatusid = EventStatus.EventStatusID INNER JOIN
BetStatus ON SessionLogs.betstatusid = BetStatus.BetStatusID INNER JOIN
EventInfo ON SessionLogs.slotid = EventInfo.SlotID
where activestatusid > 0
and SessionLogs.betstatusid = 2
and sessionlogs.eventstatusid = 2
Order by EventID desc
LIMIT 1";


$res = mysql_query($sql);
$res2 = mysql_query($sql2);
$res3 = mysql_query($sql3);
$xml = new XMLWriter();

$xml->openURI("php://output");
$xml->startDocument();
$xml->setIndent(true);

$xml->startElement('BetCancel');
$xml->writeAttribute('timestamp', date('c'));

if($res3 === FALSE) { 
    die(mysql_error()); // TODO: better error handling
}

while ($row = mysql_fetch_assoc($res3)) {
  $xml->startElement("Event");

  $xml->writeAttribute('sessionid', $row['sessionid']);
  $xml->writeAttribute('eventid', $row['eventid']);
  $xml->writeAttribute('Winner', $row['Winner']);
  $xml->writeAttribute('OddsA', $row['OddsA']);
  $xml->writeAttribute('OddsB', $row['OddsB']);
  $xml->writeAttribute('EventStatus', $row['EventStatus']);
   $xml->writeAttribute('BetStatus', $row['BetStatus']);
   $xml->writeAttribute('Title', $row['Title']);
   $xml->writeAttribute('Opponent1', $row['Opponent1']);
   $xml->writeAttribute('Opponent2', $row['Opponent2']);

  $xml->endElement();
}

$xml->endElement();

header('Content-type: text/xml');
$xml->flush();

?>

请帮忙。

3 个答案:

答案 0 :(得分:1)

你的代码中有mysql。将其切换为mysqli。 您还可以将连接设置为变量。将其设置为等于$db或其他内容。

此:

$res = mysql_query($sql); $res2 = mysql_query($sql2); $res3 = mysql_query($sql3);

应该是这样的:

$res = $db->query($sql); $res2 = $db->query($sql2); $res3 = $db->query($sql3);

mysql

的其他事件一样

答案 1 :(得分:1)

你有一个良好的开端。

请参阅下面的评论:

<test>

答案 2 :(得分:0)

尝试将localhost更改为127.0.0.1。此外,我不知道您是否设置了数据库以使用密码,但在某些情况下,密码可以设置为空字符串。

相关问题