gtanori

مشکل در کد php در مورد pdo

5 پست در این موضوع قرار دارد

سلام من کد پی اچ پی از جایی گرفتم چند تا ارور میده نمی دونم دلیل اش چیه با این که کدها کاملا سالم و صحیح اند چطور رفع کنم با تشکر


<?php
/**
* A class file to connect to database
*/
class DB_CONNECT {
// constructor
function __construct() {
// connecting to database
$this->connect();
}
// destructor
function __destruct() {
// closing db connection
$this->close();
}
/**
* Function to connect with database
*/
function connect() {
// import database connection variables
require_once __DIR__ . '/db_config.php';
// Connecting to mysql database
$con = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die(mysql_error());
// Selecing database
$db = mysql_select_db(DB_DATABASE) or die(mysql_error()) or die(mysql_error());
// returing connection cursor
return $con;
}
/**
* Function to close db connection
*/
function close() {
// closing db connection
mysql_close();
}
}
?>

و


<?php
/*
* Following code will get single product details
* A product is identified by product id (pid)
*/
// array for JSON response
$response = array();
// include db connect class
require_once __DIR__ . '/db_connect.php';
// connecting to db
$db = new DB_CONNECT();
// check for post data
if (isset($_GET["pid"])) {
$pid = $_GET['pid'];
// get a product from products table
$result = mysql_query("SELECT *FROM products WHERE pid = $pid");
if (!empty($result)) {
// check for empty result
if (mysql_num_rows($result) > 0) {
$result = mysql_fetch_array($result);
$product = array();
$product["pid"] = $result["pid"];
$product["name"] = $result["name"];
$product["price"] = $result["price"];
$product["description"] = $result["description"];
$product["created_at"] = $result["created_at"];
$product["updated_at"] = $result["updated_at"];
// success
$response["success"] = 1;
// user node
$response["product"] = array();
array_push($response["product"], $product);
// echoing JSON response
echo json_encode($response);
} else {
// no product found
$response["success"] = 0;
$response["message"] = "No product found";
// echo no users JSON
echo json_encode($response);
}
} else {
// no product found
$response["success"] = 0;
$response["message"] = "No product found";
// echo no users JSON
echo json_encode($response);
}
} else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
?>

ارور که میدهد ( ! ) Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp\www\android_connect\db_connect.php on line 28 Call Stack # Time Memory Function Location 1 0.0010 247000 {main}( ) ..\get_product_details.php:0 2 0.0030 257416 DB_CONNECT->__construct( ) ..\get_product_details.php:15 3 0.0030 257504 DB_CONNECT->connect( ) ..\db_connect.php:11 4 0.0030 258320 mysql_connect ( ) ..\db_connect.php:28

{"success":0,"message":"Required field(s) is missing"}

0

به اشتراک گذاری این پست


لینک به پست

سلام. ببینید برای استفاده از pdo فک می کنم خیلی جاها رو باید ادیت کنید.

میتونید از این لینک کمک بگیرید:

http://php.net/manua...connections.php

موفق باشید.

3

به اشتراک گذاری این پست


لینک به پست

بجای mysql از توابع mysqli استفاده کنید

http://php.net/manual/en/book.mysqli.php

3

به اشتراک گذاری این پست


لینک به پست

ممنون می شم یکی از عزیزان کد های منو نگاه کنه و در صورت امکان تبدیل به mysqli کنه البته خودم انجام دادم ولی وقتی صفحه get_all_products.php رو باز می کنم ارور می گیره که دیتابیس وصل نیست

با تشکر قبلی

کد پیوست شده است

کد sql


CREATE DATABASE androidhive;
CREATE TABLE products(
pid int(11) primary key auto_increment,
name varchar(100) not null,
price decimal(10,2) not null,
description text,
created_at timestamp default now(),
updated_at timestamp
);

android_connect.zip

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

توی فایل db_connect.php


$mysqli = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_DATABASE);
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
$db = mysqli_select_db($con,DB_DATABASE);

را پیدا کنید و تغییر بدید به


$con = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_DATABASE);
if ($con->connect_errno) {
echo "Failed to connect to MySQL: (" . $con->connect_errno . ") " . $con->connect_error;
}
$db = mysqli_select_db($con,DB_DATABASE);

ویرایش شده در توسط imanfakhar
1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری