PDA

View Full Version : ارور



masiha68
جمعه 17 آذر 1391, 08:24 صبح
سلام
من یه پایگاه دادهایجاد کدم
و وقتی اطلاعات رو ثبت یا همون insert می کنم این ارور رم می ده
Incorrect table name ''
البته من چک کردم و اسم تمامی تیبلها درسته
فک می کنین مشکل ا ز کجا باشه

Taimaz_222
جمعه 17 آذر 1391, 10:06 صبح
اسم جدولا تو بزار .

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

مثلا من همین چند وقت پیش یه جدول به نام group داشتم که مدام وقتی می خواستم insert کنم sql خطا می گرفت اما وقتی نام جدولم رو به نام Tgroup تغییر دادم مشکلم حل شد.

masiha68
جمعه 17 آذر 1391, 10:09 صبح
این قسمت اچ تی ام اله که داخل یه فرم به اسم postcomment هستش


<table style="width:100%">
<tr>
<td>name :</td>
<td><input name="esm" type="text" /></td>
</tr>
<tr>
<td>Web</td>
<td><input name="web" type="text" /></td>
</tr>
<tr>
<td>email :</td>
<td><input name="email" type="text" /></td>
</tr>
<tr>
<td>ur comment</td>
<td><textarea name="nazar" cols="30" rows="5"></textarea></td>
</tr>


<tr>
<td> <input name="sbn" type="submit" value="send comment" />

</td>
</tr>
</table>

این کد پی اچ پی


<?php require_once('Connections/mimconnect.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "postcomment")) {
$insertSQL = sprintf("INSERT INTO ``comment`` (id, name, web, email, nazar) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($_POST['id'], "int"),
GetSQLValueString($_POST['esm'], "text"),
GetSQLValueString($_POST['web'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString($_POST['nazar'], "text"));

mysql_select_db($database_mimconnect, $mimconnect);
$Result1 = mysql_query($insertSQL, $mimconnect) or die(mysql_error());

$insertGoTo = "page.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
$pop =$_GET['id'];
if($pop !=""){
mysql_select_db($database_mimconnect, $mimconnect);
$query_showpost = "SELECT * FROM post where id=$pop";
$showpost = mysql_query($query_showpost, $mimconnect) or die(mysql_error());
$row_showpost = mysql_fetch_assoc($showpost);
$totalRows_showpost = mysql_num_rows($showpost);}
else{
mysql_select_db($database_mimconnect, $mimconnect);
$query_showpost = "SELECT * FROM post ORDER BY id DESC";
$showpost = mysql_query($query_showpost, $mimconnect) or die(mysql_error());
$row_showpost = mysql_fetch_assoc($showpost);
$totalRows_showpost = mysql_num_rows($showpost);
}
?>


می دونم کدها زیادن ولی خب :)
یه نگاهی بندازین ممنون میشم :)

Taimaz_222
جمعه 17 آذر 1391, 10:35 صبح
کدتون که بنظر نمیاد مشکلی داشته باشه .

این اروری که داره میده منو به شک انداخته فقط.

ابتدای نام جدولاتو مثلا با T شروع کن و نامشون رو یه تغییر بده ببین نتیجه می گیری.

masiha68
جمعه 17 آذر 1391, 10:46 صبح
اقا دمت گرم که وقت گذاشتی
خیلی اقایی ولی جواب نداد
از دوستان خواهش دارم به این ارور رسیدگی کنید بلکه فرجی شد و ما اولین وبسایتمون رو ساختیم

pani.khoram
جمعه 17 آذر 1391, 11:59 صبح
سلام ، وقت بخیر
مشکل از این خط شماست :
$insertSQL = sprintf("INSERT INTO ``comment`` (id, name, web, email, nazar) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($_POST['id'], "int"),
GetSQLValueString($_POST['esm'], "text"),
GetSQLValueString($_POST['web'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString($_POST['nazar'], "text"));



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

$insertSQL = sprintf("INSERT INTO `comment` (id, name, web, email, nazar) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($_POST['id'], "int"),
GetSQLValueString($_POST['esm'], "text"),
GetSQLValueString($_POST['web'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString($_POST['nazar'], "text"));


موفق باشید
http://seo-tools.blogfa.com
www.landmarksem.com

Taimaz_222
جمعه 17 آذر 1391, 12:13 عصر
سلام . واقعا این همه ریز بینیتون جای تحسین داره!

اما واقعا یعنی خطای این قطعه کد فقط تنها دلیلش استفاده از " " برای مشخص کردن نام جدوله ؟!

navid3d_69
جمعه 17 آذر 1391, 12:16 عصر
سلام . واقعا این همه ریز بینیتون جای تحسین داره!

اما واقعا یعنی خطای این قطعه کد فقط تنها دلیلش استفاده از " " برای مشخص کردن نام جدوله ؟!

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

masiha68
جمعه 17 آذر 1391, 14:03 عصر
واو
واقعا ممنون
تشکر خاص و عام داریم از تموم برنامه نویس ها
وب من ادماده است شب می زارم روی نت واسه تست
این اولین وبیه که طراحی کردم واسه همین خیلی ذوق زده ام :)

navid3d_69
جمعه 17 آذر 1391, 14:09 عصر
واو
واقعا ممنون
تشکر خاص و عام داریم از تموم برنامه نویس ها
وب من ادماده است شب می زارم روی نت واسه تست
این اولین وبیه که طراحی کردم واسه همین خیلی ذوق زده ام :)

خیلی خوب هست آفرین فقط از لحاظ امنیتی هم روش کار کن که کسی نخواد سوء استفاده کنه