2014-10-21 2 views
-1

안녕하세요. PHP에 새 계정이 있습니다. 내 웹 사이트에서 뉴스 플러그인을 만들려고합니다. 하지만 난 내가 할 수 없어 다음과 같은 오류가 고정 얻을.뉴스 선택 오류 : 데이터베이스가 선택되지 않았습니다.

  $query = "SELECT `id` , `headline`, `timestamp` FROM `news` ORDER BY `timestamp` DESC"; 
     $result = @mysql_query($query); 
     if(!$result){ 
      echo('Error selecting news: ' . mysql_error()); 
      exit(); 
     } 
     if (mysql_num_rows($result) > 0) 
     { 
      while($row = mysql_fetch_object($result)) 
      { 
      ?> 
      <font size="-1"><b><? echo $row[headling]; ?></b> <i><? echo formatDate($row[timestamp]); ?></i></font><? 
      } 
     } 
     mysql_close($conn); 
     ?> 

동일한 오류가 계속 반복됩니다.

Error: Error selecting news: No database selected 
+1

[mysql_ *'functions] (http://stackoverflow.com/questions/12859942/why-shouldnt-use-mysql-functions-in-php)를 사용하지 마십시오. 더 이상 사용하지 않습니다. (공식적으로 권장되지 않음) (https://wiki.php.net/rfc/mysql_deprecation). 대신 [prepared statements] (http://en.wikipedia.org/wiki/Prepared_statement)에 대해 알아보고 [PDO] (http://us1.php.net/pdo) 또는 [MySQLi] (http : //)를 사용하십시오. us1.php.net/mysqli). [이 기사] (http://php.net/manual/en/mysqlinfo.api.choosing.php)를 사용하면 결정하는 데 도움이됩니다. –

+1

오류는 자체적으로 설명 할 수 있습니다. –

+0

데이터베이스를 몇 번 확인했지만 모두 괜찮아 보입니다. 나는이 물건에 정말로 좋지 않지만 나는 배우고 싶다. :) @Jay 감사 나는 MySQLi를 조사해야한다. –

답변

2

데이터베이스를 선택해야합니다. 는 반환 mysql_select_db

<?php 

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); 
if (!$link) { 
    die('Connection failed : ' . mysql_error()); 
} 

$db_selected = mysql_select_db('foo', $link); 
if (!$db_selected) { 
    die ('Db does not exist : ' . mysql_error()); 
} 
?> 

http://php.net/manual/de/function.mysql-select-db.php는 또한 mysql_*가되지 않습니다 점에 유의하십시오. 이 예에서 http://php.net/manual/de/mysqli.select-db.php

데이터베이스와 같은 새로운 PHP 스타일을 사용하는 것은 "테스트"

<?php 
$mysqli = new mysqli("localhost", "my_user", "my_password", "test"); 

/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

/* return name of current default database */ 
if ($result = $mysqli->query("SELECT DATABASE()")) { 
    $row = $result->fetch_row(); 
    printf("Default database is %s.\n", $row[0]); 
    $result->close(); 
} 

/* change db to world db */ 
$mysqli->select_db("world"); 

/* return name of current default database */ 
if ($result = $mysqli->query("SELECT DATABASE()")) { 
    $row = $result->fetch_row(); 
    printf("Default database is %s.\n", $row[0]); 
    $result->close(); 
} 

$mysqli->close(); 
?> 
+0

감사합니다. 이것은 나를 도와 줄 것이며 아마 MySQLi를 사용할 것입니다. –

0

나는 당신이 당신의 문에 쿼리를 시도중인 데이터베이스를 지정해야합니다 같은데요이다.

select a.id , a.headline, a.timestamp 
from database.news a 
order by a.timestamp desc 

위의 "데이터베이스"를 자신의 이름으로 바꾸십시오.

관련 문제