2011-02-03 90 views
0

如何通過PHP連接我的PostgreSQL數據庫?我試試這個如何通過PHP連接到PotgreSQL數據庫?

$PG_Con = pg_connect("host=127.0.0.1 port=5432 user=user password=pass"); 
pg_database("db"); 
$PG_Users = pg_query($PG_Con, "SELECT * FROM users_mfuser WHERE user_ptr_id='71'"); 
$user2 = pg_fetch_assoc($PG_Users); 

但它似乎沒有工作。下面是完整的代碼,有人可以幫助我:

<?php 
    include "include/functions.php"; 
    $id = (int) $_GET['id']; 
    $catid = (int) $_GET['cat']; 
    if ($catid == NULL) { 
     echo "Променливата е празна !"; 
    } else { 
     print functionCat("" . $catid . ""); 
     functionConnect("pozdrawi"); 
     $SQL_Song = mysql_query("SELECT * FROM songs WHERE id='$id'"); 
     $row = mysql_fetch_array($SQL_Song); 
     $url = $row['link']; 
     $number = explode(":", $url); 
     $i = substr($number[2], 0, 2); 
     $link1 = "http://media.vbox7.com/s/$i/$number[2].flv"; 

     if (@fopen("http://media.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media02.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media02.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media03.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media03.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media04.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media04.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media05.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media05.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media06.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media06.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media07.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media07.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media08.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media08.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media09.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media09.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media10.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media10.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media11.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media11.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media12.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media12.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media13.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media13.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media14.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media14.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media15.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media15.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media16.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media16.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media17.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media17.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media18.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media18.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media19.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media19.vbox7.com/s/$i/$number[2].flv"; 
     } elseif (@fopen("http://media20.vbox7.com/s/$i/$number[2].flv", "r")) { 
      $adres = "http://media20.vbox7.com/s/$i/$number[2].flv"; 
     } 
mysql_close(); 
     $PG_Con = pg_connect("host=127.0.0.1 port=5432 user=user password=pass"); 
     pg_database("db"); 
     $PG_Users = pg_query($PG_Con, "SELECT * FROM users_mfuser WHERE user_ptr_id='71'"); 
     $user2 = pg_fetch_assoc($PG_Users); 

if ($user2['user_song_credits'] == 0) { 
      print "<center>asd</center>"; 
     } elseif ($user2['user_song_credits'] > 0) { 
    ?><br /> 
      <center><div id='mediaspace'>Трябва да имате инсталиран Flash Player за да слушате</div></center> 
      <script type='text/javascript'> 
       var so = new SWFObject('player.swf','mpl','350','20','9'); 
       so.addParam('allowfullscreen','true'); 
       so.addParam('allowscriptaccess','never'); 
       so.addParam('wmode','opaque'); 
       so.addVariable('backcolor','8454c6'); 
       so.addVariable('frontcolor','FFFFFF'); 
       so.addVariable('lightcolor','FFFFFF'); 
       so.addVariable('screencolor','0f0f0f');; 
       so.addVariable('menu','over'); 
       so.addVariable('file','<?= $adres ?>&menu=false'); 
       so.write('mediaspace'); 
      </script><br /> 

<?php 
pg_close($PG_Con); 
functionConnect("pozdrawi"); 
     echo "Сега свири: <b>".$row['author']." - ".$row['name']."</b>"; 

     } 
     $i = 0; 
     $Play_Song = mysql_query("SELECT * FROM songs WHERE cat_id='$catid'"); 
     echo "<center> 
       <a href='javascript: show()'>Playlist</a><br /> 
       <div class='playlist' align='left' style='display:none;'>"; 

     while ($play = mysql_fetch_array($Play_Song)) { 
      $i = $i + 1; 
      $song_cat = $play['cat_id']; 
      $Play_Cat = mysql_query("SELECT * FROM songs_cat WHERE id='$song_cat'"); 
      $cat = mysql_fetch_array($Play_Cat); 
      $category = $cat['cat_name']; 
      echo "&nbsp;&nbsp;$i.<a href='song.php?cat=" . $catid . "&id=" . $play['id'] . "'>" . $play[author] . "-" . $play[name] . "</a><br />"; 
     } 
     echo "</div>"; 
    } 
?> 
+0

你確定你的Postgre正在運行? – 2011-02-03 14:55:29

+2

你得到的錯誤是什麼? *「doesen't似乎工作」*未在Postgres手冊中列爲錯誤消息 – 2011-02-03 14:56:37

+0

我的Postgresql正在運行我有一個django網站一切都正常,但是當我使用pg連接加載php頁面時,它給了我白色屏幕; s – user596500 2011-02-03 15:00:00

回答

0

打開錯誤報告上,並告訴他們:

<?php 
ini_set('display_errors', 1); 
error_reporting(E_ALL); 

// rest of your code 
?> 

你改變php.ini文件使用擴展php_pgsql?而且這個擴展是否也在工作?檢查phpinfo()以確保。

編輯:你對PostgreSQL的結果不做任何事,對嗎?

2

檢查Postgres pg_connect頁面:您需要在連接字符串中指定數據庫名稱,並且函數pg_database似乎根本不存在。

0

我會建議使用數據庫抽象庫。我喜歡ADOdb,但也有其他人。這允許移植代碼更簡單地說mySQL或其他數據庫,並隱藏了一些調用pg_的複雜性?直接起作用。

也嘗試使用空字符串''爲主機和端口。由於您連接到本地主機,它可能是服務器只接受unix套接字連接而不是TCP連接。

正如弗蘭克指出,沒有錯誤,所以也許你的連接工作,你的SQL語句是錯誤的?

相關問題