بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
سوال در مور پرینت کردن
من در این کد قسمت if چی بزارم که وقتی پسورد قدیمی اشتباه بود بزنه نه و اگر درست بود بزنه بله؟
function update(){
$connection = connectToDatabase();
$User_login = $_REQUEST['User_login'];
$oldPass= $_REQUEST['oldPass'];
$newPass= $_REQUEST['newPass'];
$result_update=mysqli_query($connection, "UPDATE users SET Password='$newPass' WHERE Mobile='$User_login' AND Password='$oldPass'");
if(اینجا){
echo "no";
}else{
echo "yes";
}
mysqli_close($connection);
}
+1
0
شما اول باید یه کوئری قبل اپدیت بزنی که اگر پسورد جدید مشابه پسورد قدیم نبود اون موقع متد اپدیت صدا زده بشه و مقدار جدید جایگزین مقدار قبلی بشه (10 سال پیش)
0
0
چرا این کارو بکنم؟ مگه تو قسمت where چک نکردم درست؟ و اینطوری که شما میگی رو نمیدوم دقیقا چطوری انجام بدم. (10 سال پیش)
0
0
بله مال شما هم درسته حالا اگه کوئری که شما زدی درست باشه داخل متغیر
$result_update برابر با true میشه واگه کوئری اجرا نشه false میشه (10 سال پیش)
0
0
الان فقط کافیه result_update رو بزارین توی if (10 سال پیش)
0
0
دوتایش میزنه 1 و این برای من که می خوام پیغام true و false بدم جالب نیست اصلا. (10 سال پیش)
0
0
البته جای no ,yes رو هم برعکس بزارین (10 سال پیش)
0
0
تمام این حرکت ها رو برای if زدم نشد. (10 سال پیش)
0
0
چطوری میتونم row بگیرم از mysqli ؟ که بتونم با row مقایسه رو انجام بدم؟ (10 سال پیش)
0
0
پشت result_update یه echo بزن ببین خروجی چند میده بیرون (10 سال پیش)
0
0
یک میده چه با موفقیت تغییر کنه پسورد چه نکنه . نمی دونم چرا (10 سال پیش)
+1
0
یه جای کارتون مشکل داره اگنه واسه چک کردن کوئری به این شکلی بود که گفتم.پیشنهاد میکنم به روش MVC بری جلو هم دوستان بهتر می تونن راهنمایی بکنن و همچنین با کمترین خطا مواجه میشی (10 سال پیش)
0
0
رئیسی جان من حالا تو همین if گیر کردم هیچ راهی نیست یعنی؟ پس اگه میتونی حداقل row گرفتن رو بهم بگو از mysqli (10 سال پیش)
0
0
mysqli_num_rows($result_update) > 0 همینو بزار توی if شاید جواب بده (10 سال پیش)
0
0
این خطا رو میده رئیسی جان .
mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in (10 سال پیش)
برای این سوال 5 پاسخ وجود دارد.
پاسخ به سوال
raeesi
10 سال پیش
+1
0
یه خورده بیایم کد ها رو تمیزترش کنیم چون خطایابیش مشکلتره این مدلی که شما نوشتید
if (!$connection) {
die("خطا در اتصال به پایگاه داده" . mysqli_connect_error()); } $sql = "UPDATE users SET Password='$newPass' WHERE Mobile='$User_login' AND Password='$oldPass'";
if (mysqli_query($connection, $sql)) {
echo'با موفقیت به روز شد'; }else{
echo'خطا';
}
پاسخ به سوال
علی
10 سال پیش
0
0
مال من اینطوری هستش طبق آموزش های استاد :
<?php
if (isset($_REQUEST['action'])){
$action = $_REQUEST['action'];
} else {
echo "Invalid Data";
exit;
}
if ($action=="update"){
update();
}
/**
*
*/
function connectToDatabase(){
$connection = mysqli_connect("localhost", "root", "root", "root");
mysqli_set_charset($connection,"utf8");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
return $connection;
}
/**
*
*/
function update(){
$connection = connectToDatabase();
$User_login = $_REQUEST['User_login'];
$oldPass= $_REQUEST['oldPass'];
$newPass= $_REQUEST['newPass'];
$result_update=mysqli_query($connection, "UPDATE users SET Password='$newPass' WHERE Mobile='$User_login' AND Password='$oldPass'");
if(mysqli_num_rows($result_update) > 0){
echo "با موفقیت به روز شد";
}else{
echo "خطا";
}
mysqli_close($connection);
}
پاسخ به سوال
raeesi
10 سال پیش
0
0
یه کلاسی به نام db بساز
<?php
class Db {
private $connection;
public function __construct($option = NULL){
if ($option != NULL){
$host = $option['host'];
$user = $option['user'];
$pass = $option['pass'];
$name = $option['name'];
} else {
global $config;
$host = $config['db']['host'];
$user = $config['db']['user'];
$pass = $config['db']['pass'];
$name = $config['db']['name'];
}
$this->connection = new mysqli($host, $user, $pass, $name);
if ($this->connection->connect_error) {
echo "Connection failed: " . $this->connection->connect_error;
exit;
}
$this->connection->query("SET NAMES 'utf8'");
}
public function test(){
echo $this->connection;
}
public function first($sql){
$records = $this->query($sql);
if ($records == NULL){
return NULL;
}
return $records[0];
}
public function modify($sql){
$result = $this->connection->query($sql);
if (!$result) {
echo "Query: " . $sql . " failed due to " . mysqli_error($this->connection);
exit;
}
return $result;
}
public function insert($sql){
$result = $this->connection->query($sql);
if (!$result) {
echo "Query: " . $sql . " failed due to " . mysqli_error($this->connection);
exit;
}
return $result;
}
public function query($sql){
$result = $this->connection->query($sql);
if (!$result) {
echo "Query: " . $sql . " failed due to " . mysqli_error($this->connection);
exit;
}
$records = array();
if ($result->num_rows == 0) {
return null;
}
while($row = $result->fetch_assoc()) {
$records[] = $row;
}
return $records;
}
public function connection(){
return $this->connection;
}
public function close(){
$this->connection->close();
}
}
پاسخ به سوال
علی
10 سال پیش
0
0
رئیسی جان الان به ذهنم زد این کارو کردم. نظرت چیه؟ درست هم کار می کنه!
function read(){
$connection = connectToDatabase();
$User_login = $_REQUEST['User_login'];
$oldPass= $_REQUEST['oldPass'];
$result = mysqli_query($connection, "SELECT * FROM users WHERE Mobile='$User_login'");
$row = mysqli_fetch_array($result);
if($oldPass!= $row['Password']){
echo "خطا";
}else{
update();
}
mysqli_close($connection);
}
/**
*
*/
function update(){
$connection = connectToDatabase();
$User_login = $_REQUEST['User_login'];
$newPass= $_REQUEST['newPass'];
$result_update=mysqli_query($connection, "UPDATE users SET Password='$newPass' WHERE Mobile='$User_login'");
if($result_update){
echo "با موفقیت به روز شد";
}
mysqli_close($connection);
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .