WithoutBrain1994

مشکل در ساخت جدول

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

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

سلام

توی خط 107 این کد این ارور رو میده

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource on line 107

<?php

class mysqldb {

/*

FILL IN YOUR DATABASE DETAILS BEFORE RUNNING THE EXAMPLE

*/

var $hostname = "localhost";

var $username = "user";

var $password = "pass";

var $database = "db";

function db_connect() {

$result = mysql_connect($this->hostname,$this->username,$this->password);

if (!$result) {

echo 'Connection to database server at: '.$this->hostname.' failed.';

return false;

}

return $result;

}

function select_db() {

$this->db_connect();

if (!mysql_select_db($this->database)) {

echo 'Selection of database: '.$this->database.' failed.';

return false;

}

}

function query($query) {

$result = mysql_query($query) or die("Query failed: $query<br><br>" . mysql_error());

return $result;

mysql_free_result($result);

}

function fetch_array($result) {

return mysql_fetch_array($result);

}

function num_rows($result) {

return mysql_num_rows($result);

}

function last_insert_id() {

return mysql_insert_id();

}

function kill() {

mysql_close();

}

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title>jQuery</title>

<script type="text/javascript" src="js/jquery.js"></script>

<link rel="stylesheet" type="text/css" href="css/css.css" />

<script type="text/javascript">

var count = 0;

$(function(){

$('p#add_field').click(function(){

count += 1;

$('#container').append(

'<strong>Link #' + count + '</strong><br />'

+ '<input id="field_' + count + '" name="fields[]' + '" type="text" /><br />' );

});

});

</script>

<body>

<?php

//If form was submitted

if (isset($_POST['btnSubmit'])) {

//create instance of database class

$db = new mysqldb();

$db->select_db();

//Insert static values into users table

$sql_user = sprintf("INSERT INTO users (Username, Password) VALUES ('%s','%s')",

mysql_real_escape_string($_POST['name']),

mysql_real_escape_string($_POST['password']) );

$result_user = $db->query($sql_user);

//Check if user has actually added additional fields to prevent a php error

if ($_POST['fields']) {

//get last inserted userid

$inserted_user_id = $db->last_insert_id();

//Loop through added fields

foreach ( $_POST['fields'] as $key=>$value ) {

$table = "CREATE TABLE mysql_real_escape_string($value)

(

id INT(11) NOT NULL AUTO_INCREMENT,

PRIMARY KEY(id),

name CHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

)";

mysql_query($table,$result);

//Insert into websites table

$sql_website = sprintf("INSERT INTO websites (Website_URL) VALUES ('%s')",

mysql_real_escape_string($value) );

$result_website = $db->query($sql_website);

$inserted_website_id = $db->last_insert_id();

//Insert into users_websites_link table

$sql_users_website = sprintf("INSERT INTO users_websites_link (UserID, WebsiteID) VALUES ('%s','%s')",

mysql_real_escape_string($inserted_user_id),

mysql_real_escape_string($inserted_website_id) );

$result_users_website = $db->query($sql_users_website);

}

} else {

//No additional fields added by user

}

echo "<h1>User Added, <strong>" . count($_POST['fields']) . "</strong> website(s) added for this user!</h1>";

//disconnect mysql connection

$db->kill();

}

?>

<?php if (!isset($_POST['btnSubmit'])) { ?>

<h1>New User Signup</h1>

<form name="test" method="post" action="">

<label for="name">Username:</label>

<input type="text" name="name" id="name" />

<div class="spacer"></div>

<label for="name">Password:</label>

<input type="text" name="password" id="password" />

<div class="spacer"></div>

<div id="container">

<p id="add_field"><a href="#"><span>» Add your favourite links.....</span></a></p>

</div>

<div class="spacer"></div>

<input id="go" name="btnSubmit" type="submit" value="Signup" class="btn" />

</form>

<?php } ?>

</body>

</html>

لطفا کمک کنید

خط 107 این کد نوشته شده


mysql_query($table,$result);

ویرایش شده در توسط Morteza
کدهای بلند در longbox
0

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


لینک به پست

این کلاس وضعش داغونه

اما واسه اینکه کارت راه بی افته به جای mysql_query باید بزنی


$db->query($qr);

2

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


لینک به پست

مرسی

این کدی که گذاشتین دقیقا جایگزین کردم نشد

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


$db->query($table,$result);

اگه میشه این رو خودتون امتحان کنید و درستش رو برام بفرستین، خیلی لازمش دارم

خیلی ممنون میشم

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

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

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

0

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


لینک به پست

syntaxات مشکل داره عمو .


$table = "CREATE TABLE mysql_real_escape_string($value)
(
id INT(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
name CHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
)";

صحیح


$table = "CREATE TABLE " . mysql_real_escape_string($value) ."
(
id INT(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
name CHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
)";

میشه توضیح بدین دقیقا میخواین چیکار کنین؟

این کاری که شما انجام میدید خیلی خطرناکه .

دستی دستی داری باگ sql injaction ایجاد میکنی توی سایتت .

فقط خودت ازش استفاده کن .

2

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


لینک به پست

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

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

و میخوام اطلاعات اون تکست باکس ها هرکدومش به یک جدول تبدیل بشه

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

حالا اگه شما راه حل دیگه رو میدونین بهم بگین

اون کد بالا رو هم جایگذین کردم بازم نشد

ویرایش شده در توسط reza_t
0

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


لینک به پست

من کد رو ویرایش کردم

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


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>jQuery</title>
<script type="text/javascript" src="adding form/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="adding form/css/css.css" />
<script type="text/javascript">
var count = 0;
$(function(){
$('p#add_field').click(function(){
count += 1;
$('#container').append(
'<strong>جدول #' + count + '</strong><br />'
+ '<input id="field_' + count + '" name="fields[]' + '" type="text" /><br />' );
});
});
</script>
<body>
<?php
if (isset($_POST['btnSubmit'])) {
$result = mysql_connect("localhost","user","pass") or die(mysql_error());
mysql_select_db("db") or die(mysql_error());
if ($_POST['fields']) {
foreach ( $_POST['fields'] as $value ) {
echo $value . "<br>";
$tb = "CREATE TABLE $value
(
id INT(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
name CHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
)";
mysql_query($tb,$result);
}
}
echo "<h1>جدول ساخته شد</h1>";
mysql_close();
}
?>
<?php if (!isset($_POST['btnSubmit'])) { ?>
<h1>ساخت جدول جدید</h1>
<form name="test" method="post" action="">
<div id="container">
<p id="add_field"><a href="#"><span>» اضافه کردن جدول جدید....</span></a></p>
</div>
<div class="spacer"></div>
<input id="go" name="btnSubmit" type="submit" value="ساختن" class="btn" />
</form>
<?php } ?>
</body>
</html>

لطفا کمک کنید

0

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


لینک به پست

کد قبلیتون که خیلی بهم ریخته و قاطی شده بود و حقیقتش من اصلا رغبت نکردم کد رو بررسی کنم!

شما باید کلاس ها رو در فایل جدا، اینکلودها در فایل جدا و بخش نمایش رو جدا می کردید.

اینجوری پیدا کردن مشکل هم راحتتر میشد.

در مورد کد دوم. شما $tb رو هم بزارید چاپ بشه بعد اون کوئری خروجی رو توی mysql اجرا کنید ببینید جدولی میسازه یا خیر.

2

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


لینک به پست

$tb رو چاپ کردم و به خوبی چاپش کرد

کار دومی که گفتین رو متوجه نشدم

کدوم کوئری خروجی؟

0

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


لینک به پست

درست شد مرسی

0

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


لینک به پست

شما دقیقا بگید چی میخواید تا بشه یه راه حل منطقی گفت .

بهترین سناریو اینه

دو تا جدول بسازید

یکیش برای نگه داری فیلدهاتون

یکیش برای مشخصات هر فرم .

با کلید بهم مرتبط کنید .

دیگه مشکلی مثل اینکه یکی 100 تا فیلد بخواد ، یکی 10 تا فیلد پیدا نمیکنید .

1

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط abdananbimeh
      آن کیست کز روی کرم مرا یاری کند
      باسلام
      دوستان عزیزان برادران مهندسین گرامی
      من نمی تونم این وردپرس رو هاست گیگفا نصب کنم حالم رو گرفته
      یه کسی من رو کمک کنه
      یه دامنه خودم دارم هر کسی لطف کرد  تونست کمک کنه ایمیل بفرست رمز و یوزر رو بهش بدم خودش زحمتش رو بکشه البته یه دامنه هم خودم دارم
       
    • توسط iritteam
      سلام دوستان
      وقت بخیر
       
      یک قالب از یک شرکت خارجی خریدیم که بجز pages و posts بخش های دیگه ای مثل services و landings و ... بهش اضافه شده. در اصل به صورت post_type جدید موارد landing و... رو به قالب اضافه کردن.
      آدرس صفحات لندینگ در حال حاضر به این شکله: http://example.com/landing/landing-page-name و میخوایم که عبارت landing در وسط URL حذف بشه و آدرس به این شکل بشه: http://example.com/landing-page-name
      سعی کردیم با استفاده از تغییرات htaccess و قوانین rewriterule ها این کار رو انجام بدیم که متاسفانه با خطای too many redirection مواجه شدیم.
      در مرحله بعد هم در متد register_posty_type() با استفاده کد زیر:
      'rewrite' => [ 'slug' => '/', 'with_front' => false ] سعی کردیم این کار رو انجام بدیم اما متاسفانه همه صفحات و پست ها رو دچار مشکل کرد و مجدد نتیجه ای نداشت.
       
      کسی هست که بتونه کمک کنه تا این مشکل رو حل کنیم؟
    • توسط Rezasafari
      با سلام بنده بخاطر اینکه سورس سایتم پاک شده بود مجبور شدم سایتو به بک آپ پنج روز قبل برگردونم.و چون سایت من خبری هست و هر روز پنج خبر گزاشته میشه.آیا الان من باید اقدامی کنم که توسط گوگل جریمه نشم یاخیر؟؟
    • توسط faradm
      با سلام. وقت بخیر!
      من قصد دارم فرمی طراحی کنم که کاربر تاریخ تولد یکی از دوستان یا نزدیکانش را وارد کنه و وقتی کسی فرم تولد را پر میکنه برای شماره ای که وارد کرده، در تاریخی که مشخص کرده، (یکروز/دوروز/سه روز) زودتر یک پیام تبریک به همراه کد تخفیف از طرف سایت ارسال بشه.
      آیا این امکان از طریق فرم گرویتی وجود داره؟
      یا افزونه خاصی برای اینکار باید نصب بشه؟(ممنون میشم اگر افزونه مفیدی در این زمینه میشناسید معرفی کنید)
      ضمنا قالب سایت وودمارت هست و افزونه پیامک فارسی هم روی قالب نصبه.
    • توسط mahdixq
      سلام من فایل های سایت gzip شدن حتی افزونه نصب کردم فایل اچ تی داکس هم ادیت کردم توی اینسپکت المنت هم فایل های سایتم بخصوص svg هارو encoding رو gzip نشون میده ولی ولی با ابزار gtmetrix انالیز میکنم هیچ نمره ای به gzip (https://gtmetrix.com/reports/chikarkonam.com/FPDb4Ba9)نمیده دوستان چیکار کنم کلافه شدم کلی سایت ایرانی خارجی سر زدم کمکم کنید!!(: