2016-03-29 71 views
1

私はこの質問が以前に尋ねられたことは知っていますが、私は非常に残念ですが、私はjavascriptに新しいので理解できませんでした。私はそれは私が、我々はまた、mysqli_connect()を使用できるようにmysql_connect()は、すべてのシステムで動作しないことを読ん致命的なエラー未定義の関数を呼び出すmysql_connect()

未定義の関数にmysql_connect()に致命的なエラーのコールを与えるこのコード

if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['formid'] == 'form2') 
{ 
    $username = $_POST['username']; 
     $email = $_POST['email']; 
     $upass = $_POST['password']; 
    $mysql_server = 'localhost'; 
    $mysql_database = 'register'; 
    $mysql_table = 'users'; 
    $mysql_username = 'root'; 
     $mysql_password = ''; 

$db = mysql_connect($mysql_server, $mysql_username, $mysql_password, $mysql_database) or die('Failed to connect to database server!<br>'.mysql_error()); 
mysql_select_db('register', $db) or die('Failed to select database<br>'.mysql_error()); 

if(mysql_query("INSERT INTO users(email,username,password) VALUES ('$username','$email','$upass')")) 
{ 
$msg="New record created successfully"; 
    ?> 
<html><body> 
alert("<?php echo $msg; ?>")</body></html> 
<?php 
mysql_close($db); 
header("location: home.php"); 
} 
    else 
{ 
$msg="Error: " . $sql . "<br>" ; 
} 
    exit; 
} 

を使用しました。
私はその後、mysqliですべてmysqlを交換したが、今、私はこれらの2つの警告

警告取得しています:Cに与えられたmysqli_select_db()は、パラメータ1はmysqliのことを期待し、文字列:行の\ xamppの\ htdocsに\ loginpage.phpを19

警告:\ xamppの\ htdocsに\ loginpage.phpライン19 上のデータベース

を選択することができませんでした私がした映像をも見ていました:mysqli_error()は正確にCに与えられた1つのパラメータ、0が期待それは言われた私たちはphp.iniという名前のファイルを見つけ、extension_dir = "./"をextension_dir = "C:¥xampp¥php¥ext" と置き換えるべきですが、ファイルを見ると両方の宣言が見つかりました。 私は何をすべきか教えてください。 xamppサーバーを使用しています。

は、ここに私のmysqliのコード

if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['formid'] == 'form2') 
    { 
    $username = $_POST['username']; 
    $email = $_POST['email']; 
    $upass = $_POST['password']; 
    $mysql_server = 'localhost'; 
    $mysql_database = 'register'; 
    $mysql_table = 'users'; 
    $mysql_username = 'root'; 
    $mysql_password = ''; 

     $db = mysqli_connect($mysql_server, $mysql_username, $mysql_password, $mysql_database) or die('Failed to connect to database server!<br>'.mysqli_connect_error()); 
     mysqli_select_db('register', $db) or die('Failed to select database<br>'.mysqli_connect_error()); 
     $sql="INSERT INTO users(email,username,password) VALUES ('$username','$email','$upass')"; 
     if (mysqli_query($conn, $sql)) 
    { 
     $msg="New record created successfully"; 

    ?> 
    <html><body> 
alert("<?php echo $msg; ?>")</body></html> 
<?php 
mysqli_close($db); 
header("location: loginpage.php"); 
    }  
    else 
     { 
    $msg="Error: " . $sql . "<br>" ; 
    } 
    exit; 
    } 
+1

あなたの最初の考えは 'mysql_を使用していた場合* '関数を使用する場合は、すぐに*を止めて、PDOなどの準備文について学んでください。 –

+1

あなたのコードはどこに' mysqli'を使っていますか? mysql_とmysqliの間にはいくつかの相違点がありますので、特定の機能に問題がある場合はマニュアルを参照してください。 'mysqli_select_db'エラーは' mysqli'接続ではなく文字列を送信していたことを意味します.http://php.net/manual/en/mysqli.select-db.php – chris85

+0

mysqlからmysqliに転送するとき最後に 'i'を追加するほど簡単ではありません。あなたはもっとあなたがする必要があります。元の質問を編集し、あなたの 'mysqli'コードを示すコードを追加できますか? – CodeGodie

答えて

0

使用mysqli_connect()の代わりにmysql_connect()

MySQLの機能が示唆されていないと、それはすでに

0

使用mysqli_*機能を放棄していますです。あなたが見つけたようにmysql_*関数は時代遅れであり、さらに新しいPHPに落とされています。

ただし、新しい機能はデータベース接続を最初のパラメータとして取得する点で異なります。だから、呼び出しは次のようになります(または実際にはmysqli_connect関数の4番目のパラメータとしてデータベース名を渡すことができます):クエリの

mysqli_select_db($db, 'register') 

と同じなど

関連する問題