-
March 12th, 2017, 11:34
#1
گرفتن اطلاعات از دیتابیس در php
سلام
من برای اینکه یه سری اطلاعات رو از داخل دیتابس mysql بخونم اومدم و از متود prepare که در ارتباط mysqli هست استفاده میکنم
برای اینکه نتایج رو هم در بیارم از متود get_result() استفاده میکنم
یه تیکه از کد من به شکل زیر هست
کد PHP:
require_once 'config.php';
if ($link = new mysqli($dbHost, $dbUser, $dbPass, $dbName)) {
mysqli_set_charset($link, "utf8");
$query = $link->prepare("SELECT `name`,`cost`,`img` FROM `products` WHERE `id` = ?");
mysqli_set_charset($link, "utf8");
$query->bind_param('s', $_POST['product']);
$query->execute();
$res = $query->get_result();
$result = $res->fetch_assoc();
echo $result['name'];
}
این کد روی localhost که php ورژن 7.0.9 هست به راحتی و بدون مشکل اجرا میشه
وقتی میبرم روی هاست لینوکس cpanel که ورژن 5.3 داره اررور زیر میاد
کد PHP:
Fatal error: Call to undefined method mysqli_stmt::get_result() in /public_html/order/index.php on line 203
وقتی هم که ورژن php رو از داخل cpanel به 7.0 تغییر میدم اررور زیر میاد
کد PHP:
Fatal error: Uncaught Error: Call to undefined method mysqli_stmt::get_result() in /public_html/order/index.php:203 Stack trace: #0 {main} thrown in /public_html/order/index.php on line 203
ممنون میشم راهنماییم کنید چطور این مشکل رو حل کنم
یا کلا چطور اطلاعات رو از دیتابیس بیرون بکشم و نشون بدم یا استفاده کنم
سپاس
ویرایش توسط jpmo02 : March 12th, 2017 در ساعت 11:37
دلیل: درست کردن کدهای بهم ریخته
-
-
March 12th, 2017 11:34
# ADS
-
March 12th, 2017, 11:58
#2
عضو انجمن
پاسخ : گرفتن اطلاعات از دیتابیس در php
سلام
این دو لینک رو ببینید:
http://stackoverflow.com/questions/8...stmtget-result
http://stackoverflow.com/questions/3...eems-installed
ظاهراً برای استفاده از دستور mysqli_stmt::get_result باید بسته الحاقی mysqlnd extension روی MySQL فعال باشه.
اگر هاست شما با سیستم عامل کلود لینوکس هستش و امکان فعال یا غیرفعال کردن extension های PHP رو دارید مطمئن بشید که mysqli و اگه وجود داره mysqlnd فعال باشه.
همچنین پیشنهاد میکنم یه نگاهی به توابع PDO هم بندازید PDO مزایای خیلی بیشتری نسبت به MySQLi داره که البته اینم باید Extension مورد نیازش که با نام pdo_mysql هستش باید فعال باشه.
-
-
March 12th, 2017, 12:23
#3
عضو جدید
پاسخ : گرفتن اطلاعات از دیتابیس در php

نوشته اصلی توسط
jpmo02
سلام
من برای اینکه یه سری اطلاعات رو از داخل دیتابس mysql بخونم اومدم و از متود prepare که در ارتباط mysqli هست استفاده میکنم
برای اینکه نتایج رو هم در بیارم از متود get_result() استفاده میکنم
یه تیکه از کد من به شکل زیر هست
کد PHP:
require_once 'config.php';
if ($link = new mysqli($dbHost, $dbUser, $dbPass, $dbName)) {
mysqli_set_charset($link, "utf8");
$query = $link->prepare("SELECT `name`,`cost`,`img` FROM `products` WHERE `id` = ?");
mysqli_set_charset($link, "utf8");
$query->bind_param('s', $_POST['product']);
$query->execute();
$res = $query->get_result();
$result = $res->fetch_assoc();
echo $result['name'];
}
این کد روی localhost که php ورژن 7.0.9 هست به راحتی و بدون مشکل اجرا میشه
وقتی میبرم روی هاست لینوکس cpanel که ورژن 5.3 داره اررور زیر میاد
کد PHP:
Fatal error: Call to undefined method mysqli_stmt::get_result() in /public_html/order/index.php on line 203
وقتی هم که ورژن php رو از داخل cpanel به 7.0 تغییر میدم اررور زیر میاد
کد PHP:
Fatal error: Uncaught Error: Call to undefined method mysqli_stmt::get_result() in /public_html/order/index.php:203 Stack trace: #0 {main} thrown in /public_html/order/index.php on line 203
ممنون میشم راهنماییم کنید چطور این مشکل رو حل کنم
یا کلا چطور اطلاعات رو از دیتابیس بیرون بکشم و نشون بدم یا استفاده کنم
سپاس
دوست عزیز من این کد را با کتابخانه ی MySQLI به شیوه ی دیگه ای مینویسم . شاید کمکتون کنه . ولی چون تا حالا در کتابخانه ی MySQLI از تابع prepare استفاده نکردم اطلاعاتی در موردش ندارم
بیشتر در PDO از prepare استفاده کردم
کد ویرایش شده :
کد PHP:
if ($link = new mysqli($dbHost, $dbUser, $dbPass, $dbName)) {
$query = $link->query("SELECT `name`,`cost`,`img` FROM `products` WHERE `id` = '".$_POST['product']."'");
$row = $res->fetch_array(MYSQLI_ASSOC);
echo $row['name'];
}
انجام پروژه های:php-c#-c++-java-basic-css-html-javascript-python
مشاوره با مسئول پروژه ها-حامد دعایی:+989901567129
تماس با برنامه نویس-امیرعلی استکی:+989017735378
-
-
March 12th, 2017, 12:48
#4
پاسخ : گرفتن اطلاعات از دیتابیس در php

نوشته اصلی توسط
AtrafNet
سلام
این دو لینک رو ببینید:
http://stackoverflow.com/questions/8...stmtget-result
http://stackoverflow.com/questions/3...eems-installed
ظاهراً برای استفاده از دستور mysqli_stmt::get_result باید بسته الحاقی mysqlnd extension روی MySQL فعال باشه.
اگر هاست شما با سیستم عامل کلود لینوکس هستش و امکان فعال یا غیرفعال کردن extension های PHP رو دار ید مطمئن بشید که mysqli و اگه وجود داره mysqlnd فعال باشه.
همچنین پیشنهاد میکنم یه نگاهی به توابع PDO هم بندازید PDO مزایای خیلی بیشتری نسبت به MySQLi داره که البته اینم باید Extension مورد نیازش که با نام pdo_mysql هستش باید فعال باشه.
پشتیبان هاست و سرور گفتن که از mysqli پشتیبانی میکنه و mysqlnd هم فعاله
پس چرا این ارورها رو میگیرم؟؟
ممنون
-