2015-07-11 3 views
-3

Я использую этот же код `Я не могу подключиться к БД или извлекать данные

php $postId = 41; 

<!-- hidden items and variables. Elements that will not be revealed !--> 

<span id="gameLength"><?php 

// MySQL connect configuration 

$dbname="my_db"; 

$host="localhost"; 

$user="guessthe"; 

$dbh=mysql_connect ($host,$user,"correctPassword?") or die ('I cannot connect to the database because: ' . mysql_error(). ''); 

mysql_select_db ("$dbname") or die('I cannot select the database because: ' . mysql_error()); 

$sql="SELECT * FROM games WHERE postId = $postId"; 

$result=mysql_query($sql); 

$rows=mysql_fetch_array($result); 

$gameId = $rows['id']; 

$game100s = $rows['game100s']; 

$gamesPlayedAllTime = $rows['gamesPlayed']; 

$gamesPointsAllTime = $rows['gameScore']; 

$gameLength = $rows['gameLength']; // get number of questions 

$gameScore = $rows['gameScore']; 

$gameType = $rows['gameType']; 

$gametitle = $rows['gameSubTitle']; 

echo $gameLength; 

Существует значение в gameLength ряду! Я не могу заставить этот код вытащить любую из строк! Любая идея, что я делаю неправильно?

+0

запустите sql в любом mysql-клиенте, таком как phpMyAdmin, и посмотрите, он работает, и мне интересно, почему $ postID указан за пределами php-тегов. –

ответ

1

Вы используете MySQL, который depcirated - и будет прекращено. Вместо этого вы должны использовать MySQLi или PDO. Кроме того, ваш $postId определен за пределами PHP-тега? Может быть просто ошибка копирования/вставки? Во всяком случае, вы можете попробовать следующий код, который находится в MySQLi:

<?php 
    $postId = 41; 
?> 

<!-- hidden items and variables. Elements that will not be revealed !--> 

<span id="gameLength"><?php 

// MySQL connect configuration 
$dbname = "my_db"; 
$host = "localhost"; 
$user = "guessthe"; 

// Connecting to the database 
$mysqli = new mysqli($host, $user, "correctPassword?", $dbname); 
if ($mysqli->connect_errno) { 
    // If we are here, the connection failed 
    echo "Failed to connect to MySQL: (".$mysqli->connect_errno.") ".$mysqli->connect_error; 
} 

$sql ="SELECT * FROM games WHERE postId = $postId"; 

if ($result = $mysqli->query($sql)) { 
    // If the query was sucsessfull, we can get the rows 
    while ($row = $result->fetch_assoc()) { 
     $gameId    = $row['id']; 
     $game100s   = $row['game100s']; 
     $gamesPlayedAllTime = $row['gamesPlayed']; 
     $gamesPointsAllTime = $row['gameScore']; 
     $gameLength   = $row['gameLength']; // get number of questions 
     $gameScore   = $row['gameScore']; 
     $gameType   = $row['gameType']; 
     $gametitle   = $row['gameSubTitle']; 
    } 
} else { 
    // If the query failed, do something here 
} 

echo $gameLength; 
?> 

Я вижу, что некоторые люди, отметив, что вам нужно поставить $postId переменную внутри кавычки в запросе, но при использовании двойных кавычек (") переменные будут опубликованы, поэтому на самом деле это не нужно. Также обратите внимание, что все зависит от регистра, поэтому, если ваши результаты не отображаются, проверьте наличие орфографических ошибок.

+0

Спасибо за головы! –

+0

Спасибо за головы. Когда я подключился к вашему коду, я буду уверен. –

0

Необходимо исправить это ваш код, который должен исправить ошибку.

$sql="SELECT * FROM games WHERE postId ='".$postId."' ";

Если вы хотите, чтобы все записи, которые вы можете использовать время цикла. Вот несколько псевдокодов.

while($row = mysql_fect_assoc($query)){ 
     echo $row["THE THING YOU WANT"]; 
     ... 
} 
1

Есть много ошибок в коде

Попробуйте это ...

<?php 

$postId = 41; 

?> 
<!-- hidden items and variables. Elements that will not be revealed !--> 

<span id="gameLength"> 
<?php 

// MySQL connect configuration 

$host = "localhost"; 
$dbname = "my_db"; 
$user = "username"; 
$password = "password"; 

$dbh = mysql_connect ($host,$user,$password) or die ('I cannot connect to the database because: ' . mysql_error() . ''); 

mysql_select_db($dbname, $dbh) or die('I cannot select the database because: ' . mysql_error()); 

$sql = "SELECT * FROM games WHERE postId='$postId'"; 
$result = mysql_query($sql); 

while($rows = mysql_fetch_array($result)){ 
    $gameId = $rows['id']; 
    $game100s = $rows['game100s']; 
    $gamesPlayedAllTime = $rows['gamesPlayed']; 
    $gamesPointsAllTime = $rows['gameScore']; 
    $gameLength = $rows['gameLength']; // get number of questions 
    $gameScore = $rows['gameScore']; 
    $gameType = $rows['gameType']; 
    $gametitle = $rows['gameSubTitle']; 

    echo $gameLength; 
} 

?> 
Смежные вопросы