رفتن به مطلب
  • 0

مشکل در دیتابیس آنلاین


mehrabmmp

سوال

سلام به همه

من تو این کدای پی اچ پی میام

<?php
header('Content-Type: text/html; charset=utf-8');
$servername = "localhost";
$username = "";
$password = "";
$dbname = "";
$conn = new mysqli($servername, $username, $password, $dbname);
mysqli_query($conn,"SET character_set_results = 'utf8'");
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$name= $_POST["name"];

$sql = "SELECT * FROM Listexam WHERE List = '$name'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
        echo $row['id']."#".$row['Examid']."<br>";
    }
} else {
echo"nothing";
}
$conn->close();
?>

میام متن رو پست میکنم و اینجا میگیرم و ایدی و examid رو برمیگردونم

ولی یه مشکل هست

وقتی متن داخل تیبل یه کلمه ی انگلیسیه درست انجام میشه ولی وقتی فارسی میزارم nothing بر میگردونه

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

17 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در در 1395/07/21, 11:56:24، محمدرضا شاهپیری گفته است :

سرچ کن عزیز :malih:

سرور

سلام

ممنون بخاطر اموزش

ولی من انجامش دادم null برگردوند

کدام

ht2.PostString("***","name=" & name)

Sub Jobdone (job As HttpJob)
	If job.Success Then
		 If job.JobName = "ht2" Then
			 Dim json As JSONParser
			 json.Initialize(job.GetString)
			 Dim l As List
			 l.Initialize
			 l = json.NextArray
			 For i=0 To l.Size -1
			 	Dim m As Map
				m.Initialize
				m = l.Get(i)
			 	ToastMessageShow(m.Get("Examid"),False)
			Next
			 ProgressDialogHide
		End If
	End If
End Sub

 

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

جیسون یاد بگیری خوبه مهراب جان

اما مستر شاهپیری تمرکزشون رو این سه تاستا

mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES 'utf8'");
mysql_query("SET character_set_connection = 'utf8'", $con);

اینا رو باید بزنی که ببینی موردت اوکی میشه یا نه

اولین دستور بعد از کانکت اینارو بزن

برای mysqli هم اینطوری میتونی استفاده کنی

$con->query("SET CHARACTER SET utf8");
$con->query("SET NAMES 'utf8'");
$con->query("SET character_set_connection = 'utf8'");

 

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

دوست عزیز هیچ مشکلی نداره وقتی من تست کردم و نتیجه رو درست نشون میده قاعدتا یه جای کار رو شما اشتباه رفتین

دیتابیستون رو چک کنید ببینید چیزی که میخواید بگیرید تو دیتابیس هست یا نه کدهای jobdone رو هم به صورت زیر تغییر بدین شما اینجا دیگه آرایه نمیگیرین که یه آبجکته فقط

If job.Success Then
	Dim j As JSONParser
	j.Initialize(job.GetString)
	Dim l As List
	l.Initialize
	l=j.NextArray
	Dim M As Map
	M.Initialize
	If l.Size>0 Then
	M=l.Get(0)
    ToastMessageShow(M.Get("kod"),False)
	Else
	ToastMessageShow("notfond",False)
	End If
	End If

 

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

سلام

این کدای پی اچ پی هستش

<?
$name=$_POST["name"];
$databasehost = "اینجا باید چی بنویسم";
$databasename = "***";
$databaseusername ="***";
$databasepassword = "***";
$con = mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error());
mysql_select_db($databasename) or die(mysql_error());
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES 'utf8'");
mysql_query("SET character_set_connection = 'utf8'", $con);
$sql = "SELECT * FROM Listexam WHERE List ='$name'";
 //Getting result 
 $result = mysql_query($sql); 
 //Adding results to an array 
 $res = array(); 
 while($row = mysql_fetch_array($result)){
 array_push($res, array(
 "kod"=>$row['kod']
 ));
 }
print json_encode($res);
?>

اینم شکل تیبل

testtt.png

نمیدونم چرا نمیشه :unknown:

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

تو phpmyadmin هاستت که بری باید معمولا به صورت زیر باشه  این از این

دوست عزیز وقتی کدی گذاشته میشه با یه سری متغیر شما که نباید همون متغیرا رو تو برنامه تون استفاده کنید باید اونو متناسب با متغیرهای خودتون ویرایش کنید

الان شما باید قسمت زیر رو تغییر بدین به متغیری که میخواین مقدارشو از هاست بگیرین

 array_push($res, array(
 "kod"=>$row['kod']      اینو عوض کن

ss.PNG

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

در 11 ساعت قبل، محمدرضا شاهپیری گفته است :

تو phpmyadmin هاستت که بری باید معمولا به صورت زیر باشه  این از این

دوست عزیز وقتی کدی گذاشته میشه با یه سری متغیر شما که نباید همون متغیرا رو تو برنامه تون استفاده کنید باید اونو متناسب با متغیرهای خودتون ویرایش کنید

الان شما باید قسمت زیر رو تغییر بدین به متغیری که میخواین مقدارشو از هاست بگیرین


 array_push($res, array(
 "kod"=>$row['kod']      اینو عوض کن

ss.PNG

خیلی ممنون استاد :heart:

حل شد :53:

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

سمت سرورتون که مشکلی نداره ظاهرا البته header نیازی نبود به جاش این کوئری رو مینوشتین کافی بود

mysql_query("SET CHARACTER SET utf8");

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

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

در 13 ساعت قبل، محمدرضا شاهپیری گفته است :

سمت سرورتون که مشکلی نداره ظاهرا البته header نیازی نبود به جاش این کوئری رو مینوشتین کافی بود


mysql_query("SET CHARACTER SET utf8");

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

سلام استاد شاهپیری

ممنون که جواب دادین

اکو ؟ :crazy:

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

در 4 ساعت قبل، mehrabmmp گفته است :

سلام استاد شاهپیری

ممنون که جواب دادین

اکو ؟ :crazy:

محراب، echo 

این شکلی مثلا

$name= $_POST["name"];
echo $name;

پایین خطه اول ، خطه دومو بنویس

بقیه اشم بذار استاد اومدن ، راهنمایی کنن

 

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

در 12 ساعت قبل، shahab.es گفته است :

محراب، echo

اهان من فکر کردم سمت بیسیک رو میگن

کردم هر متنی میفرستم بر میگردونه

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

در 11 ساعت قبل، محمدرضا شاهپیری گفته است :

با چه روشی پست کردین عزیز؟

 

dim s as string
s = "سلام"
ht2.PostString("***","name=" & s)

 

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

مشکل از ارتباط با دیتابیسه به خاطر اینکه فارسی میخوای بفرستی گیر میده کدهای زیر رو به فایل php اضافه کن درست میشه

mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES 'utf8'");
mysql_query("SET character_set_connection = 'utf8'", $conn);

اینا رو هم حذف کن از فایل php

header('Content-Type: text/html; charset=utf-8');
mysqli_query($conn,"SET character_set_results = 'utf8'");

 

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

در 12 ساعت قبل، محمدرضا شاهپیری گفته است :

مشکل از ارتباط با دیتابیسه به خاطر اینکه فارسی میخوای بفرستی گیر میده کدهای زیر رو به فایل php اضافه کن درست میشه


mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES 'utf8'");
mysql_query("SET character_set_connection = 'utf8'", $conn);

اینا رو هم حذف کن از فایل php


header('Content-Type: text/html; charset=utf-8');
mysqli_query($conn,"SET character_set_results = 'utf8'");

 

سلام

اینارو اضافه کردم 

واسه سلام اینو اورد  Ų³Ł„Ų§Ł…

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

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

<?
$name=$_POST["name"];
$databasehost = "";
$databasename = "";
$databaseusername ="";
$databasepassword = "";
$con = mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error());
mysql_select_db($databasename) or die(mysql_error());
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES 'utf8'");
mysql_query("SET character_set_connection = 'utf8'", $con);
$sql = "SELECT * FROM ktb WHERE name='$name'";
 //Getting result 
 $result = mysql_query($sql); 
 //Adding results to an array 
 $res = array(); 
 while($row = mysql_fetch_array($result)){
 array_push($res, array(
 "kod"=>$row['kod']
 ));
 }
print json_encode($res);
?>

 

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

در 12 ساعت قبل، محمدرضا شاهپیری گفته است :

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


<?
$name=$_POST["name"];
$databasehost = "";
$databasename = "";
$databaseusername ="";
$databasepassword = "";
$con = mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error());
mysql_select_db($databasename) or die(mysql_error());
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES 'utf8'");
mysql_query("SET character_set_connection = 'utf8'", $con);
$sql = "SELECT * FROM ktb WHERE name='$name'";
 //Getting result 
 $result = mysql_query($sql); 
 //Adding results to an array 
 $res = array(); 
 while($row = mysql_fetch_array($result)){
 array_push($res, array(
 "kod"=>$row['kod']
 ));
 }
print json_encode($res);
?>

 

سلام

ممنون بخاطر کد

ولی شرمنده من جیسون بلد نیستم :sorry:

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

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...